2

如果可能的话,我想让下面的代码工作。目标是通过使用 Javascript 的“应用”方法获得一个依赖于字符串列表的计算属性。

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Function/apply

App.View = Em.View.extend
  myProps: ['content.prop1', 'content.prop2']
  myComputed : (->
    return "super valuable things"
  ).property.apply(@get("myCompted"), @get("myProps"))

到目前为止......没有运气。它似乎拒绝了我做这项工作的最热切愿望。

任何帮助将不胜感激!史蒂夫

4

1 回答 1

2

您不需要使用该apply功能,我不确定您为什么认为您需要这样做。属性函数只需要它所依赖的属性的参数。在这种情况下,它是'myProps'。您也不需要get该属性,Ember 将为您完成所有工作。

看看这个jsfiddle,你就会明白我的意思。您可以对myComputed属性内的数组进行所有操作,并且该数组已经可供您使用。

App.ApplicationView = Em.View.extend({
    myProps: ['123', '456'],
    myComputed : function () {
        return this.get('myProps');
    }.property('myProps')
});
于 2013-02-12T10:59:45.507 回答