我有一个组件,我在其中观察模型的属性,并且模型作为控制器属性“模型”被馈送到控制器设置中的控制器。模型具有年龄、薪水、等级等属性。组件中的属性由用户输入。
该组件将被称为:
{{ui-slider prop="age"}}
或者
{{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)
虽然它没有显示任何错误,但观察者不起作用。
如何将“道具”属性连接到观察者?
或者有什么方法可以连接组件内部的字符串,然后将其替换为观察者。