Ember.js:在何时/何时/为什么在模型或控制器中声明属性?

时间:2013-12-03 18:43:19

标签: model-view-controller properties ember.js

似乎我可以在模型和控制器中声明计算属性。我已经到了这样的地步,我不确定哪一个可以查找给定的属性。

是什么决定了属性是否应该放在控制器中而不是模型中?

1 个答案:

答案 0 :(得分:2)

通常情况下,如果属性本质上是表示性的(例如显示,标签,格式化),则放置在控制器中;如果属性是记录本身固有的(例如计算,关联),则放置在模型中

实际上:

如果属性

模型

  • 需要被其他模型访问,因为模型无法访问其控制器
  • 需要在设置控制器之前在路径中访问
  • 需要跨越控制器(例如,order.subtotal在OrderNewController和OrderController中使用)
如果属性

控制器

  • 只需要通过视图或模板访问
  • 只需要其他控制器访问

您可以将大多数属性放在控制器中,直到您遇到需要从其他模型访问该属性的情况,或者您发现自己写{{controllers.modelName.property}}次太多次。