Ember.js-如何';获取';计算属性
我已经成功地创建并绑定了计算属性,但是如何在代码的其他部分手动获取它们呢Ember.js-如何';获取';计算属性,ember.js,Ember.js,我已经成功地创建并绑定了计算属性,但是如何在代码的其他部分手动获取它们呢 App.Test = Ember.Object.extend( value: "1" unit: "INCH" display: (-> value = this.get('value') unit = this.get('unit') return "#{value} #{unit}" ).property('value', 'unit') ) 我如何在控制
App.Test = Ember.Object.extend(
value: "1"
unit: "INCH"
display: (->
value = this.get('value')
unit = this.get('unit')
return "#{value} #{unit}"
).property('value', 'unit')
)
我如何在控制器中调用“display”方法?下面显示了我认为有效的方法
myTest = App.Test.create()
displayValue1 = myTest.get('display')
displayValue2 = myTest.display()
displayValue1只返回一个对象,而不是字符串。displayValue2抛出“找不到函数”错误。那么,除了绑定之外,我如何访问此属性?将计算属性视为属性,而不是方法。即使它们包含一点逻辑,它们实际上也是属性,因此永远不要将其作为方法调用 您可以使用经典的
Ember.get
方法访问它们,如下所示:
MyApp.myObject = Ember.Object.create({
name: "foo",
surname: "bar",
aComputedProperty: function() {
return this.get('name') + ' ' + this.get('surname');
}.property('name', 'surname')
});
MyApp.myObject.get('aComputedProperty'); // => 'foo bar'
你可以试试这段代码。所以,这是我认为应该可行的,所以我的代码中肯定还有其他奇怪的地方。当我绑定到属性时,我会得到一个字符串,但当我调用“get”时“我不。。。至少理论上我知道我做得对,谢谢。当你从
displayValue1
检查对象时,你看到了什么?这应该会返回字符串,在我看来是正确的。