У меня есть компонент, в котором я наблюдаю за свойством модели, а модель передается контроллеру в настройке контроллера как свойство контроллера «модель». Модель имеет свойства возраст, зарплата, ранг. Свойство в компоненте должно быть введено пользователем.
Компонент будет называться так:
{{ui-slider prop="age"}}
OR
{{ui-slider prop="salary"}}
Это не полный компонент, но он объясняет мою проблему. Компонент:
App.UiSliderComponent = Ember.Component.extend({
prop:function(){
return this.get('prop');
}.property('prop'),
modelPropertyObserver:function(){
console.log("property is "+this.get('targetObject.model').get(this.get('prop'));
}.observes('targetObject.model.'+this.get('prop')),
didInsertElement:function(){
console.log("Element inserted");
}
})
Это не работает. Когда я наблюдаю такое свойство, как .observes('targetObject.model.age')
, оно работает нормально.
Но теперь он показывает cori_component.js:29 Uncaught TypeError: this.get is not a function
Я также пробовал .observes('targetObject.model.'+this.prop)
Хотя он не показывает никаких ошибок, но наблюдатель не работает.
Как связать свойство 'prop' с наблюдателем?
Или есть ли способ связать строку внутри компонента, а затем подставить ее в наблюдатель.