0

我正在创建以下对象:

Ember.Object.create({
  value: function() {
    return 'text';
  }.property()
});

但是我遇到了has no method 'property'错误。不知道为什么,我认为property它适用于所有功能。

4

3 回答 3

1

如果您打开 JavaScript 控制台,您会注意到以下错误:

未捕获的错误:断言失败:Ember.Object.create 不再支持定义计算属性。

试试这个:

App.Object = Ember.Object.extend({
  value: function() {
    return 'text';
  }.property()
});

alert(App.Object.create().get('value'));

在 Ember 中,您应该创建对象,而不是实例。如果您发现自己创建了这样的对象实例,那么您可能做错了什么。当然,在某些情况下,您需要立即创建Ember.Objects,但要让它们具有计算属性并调用_super? 我想不出任何有效的案例,因为它们已经被@deprecated,你必须找到替代解决方案。更好的解决方案。

于 2013-02-09T20:52:18.177 回答
0

事实证明我禁用了原型扩展:

http://emberjs.com/guides/configuring-ember/disabling-prototype-extensions/

于 2013-02-09T21:39:43.393 回答
-1

尝试使用模型的文档示例:http: //emberjs.com/api/classes/Ember.ComputedProperty.html#method_property

于 2013-02-09T20:48:34.637 回答