Ember.js:如何为导入的对象使用Em.computed.alias?

时间:2013-10-18 17:26:35

标签: import ember.js controller alias

我正在将一个对象Delivery导入到我的Outbox控制器中,并希望在我的控制器中为它创建一个计算别名,如:

emailStateOptions: Em.computed.alias('Delivery.ORDERED_STATES') 

但这不起作用,所以相反,我这样做有效但但很冗长:

import Delivery from 'app/models/delivery';

var Outbox = Ember.ArrayController.extend({  
  emailStateOptions: function() {
    return Delivery.ORDERED_STATES;
  }.property(),
)}

有没有办法在这里使用computed.alias?

1 个答案:

答案 0 :(得分:0)

要使Em.computed.alias起作用,必须将Delivery定义为控制器中的属性。

虽然我不知道您的应用的整体架构,但让ORDERED_STATES进入控制器的更好方法可能是使用Ember的注入器模式。

请参阅https://stackoverflow.com/a/18210271/2319023对此的一个很好的解释。