应该放置计算属性?

时间:2013-12-02 12:48:19

标签: javascript ember.js

放置计算属性的正确位置在哪里(在模型或控制器内)?

我见过将计算属性放在控制器内部以及模型中的其他属性的示例。在我的应用程序中,我在模型中使用它:

App.Item = DS.Model.extend({
  description: DS.attr('string'),
  quantity: DS.attr('number'),
  price: DS.attr('number'),
  total: function() {
    return this.get('quantity') * this.get('price');
  }.property('@each'),
});

我不知道这是否是正确的位置以及将其置于模型内或控制器内部的含义。

1 个答案:

答案 0 :(得分:0)

它取决于属性的使用,是否会在整个应用程序中使用,然后它属于模型,如果它只是在单个控制器的上下文中使用,则将其放在控制器上。

另外在您的示例中,您的计算属性应该像这样定义

total: function() {
  return this.get('quantity') * this.get('price');
}.property('quantity', 'price'),