1

如果我有一个产品模型,并且在我看来,我会遍历它们,那么以下两个都是有效的。

我应该使用哪一个?两者都有原因吗?

我更喜欢controller.model,似乎更明确。

{{#each product in controller.model}}
    <div>{{product.artist}}</div>
{{/each}}


{{#each product in controller.content}}
    <div>{{product.artist}}</div>
{{/each}}
4

2 回答 2

2

我应该使用哪一个?

其实也没有。相反,您应该绑定到控制器本身,如下所示:

{{#each product in controller}}
  <div>{{product.artist}}</div>
{{/each}}

虽然controller.contentcontroller.model开始看起来很有效,但您会发现这种方法在更高级的用例(如排序和指定 itemController)中会失效。

两者都有原因吗?

controller.contentAFAIK 使用和之间没有区别controller.model。model 属性实际上是 content 属性的别名。

// Ember controller definition:
model: Em.computed.alias('content')
于 2013-03-08T13:51:08.860 回答
0

从 ember 源代码看来,这model是一个别名content

Ember.ControllerMixin = Ember.Mixin.create({
    ...
    model: Ember.computed.alias('content'),
    ...
});
于 2013-03-08T13:50:38.110 回答