Ember.js:哪个控制器负责?

时间:2015-05-17 21:07:57

标签: ember.js ember-cli

我得到了什么

ember-cli POD结构。 我有嵌套路由,所以下面的文件夹结构:

|
|_pods
     |_items
          |_index
          |     |_controller.js
          |     |_route.js
          |     |_template.hbs
          |_item
                |_controller.js

我在items / index / route.js的model-hook中加载了我的模型的所有项目记录。在我的索引模板中,我正在迭代项目模型中的所有项目。

{{#each model as |item|}}
  ...
{{/each}}

工作正常。现在我想从alpha(奇异)控制器调用一些属性,所以我在每个帮助器中添加了itemController-Properties:

{{#each model itemController='items.item' as |item|}}

现在我可以在我的模板中访问每个项目的属性,例如在alpha控制器中定义的{{item.myTestMethod}}

问题是什么?

但由于某种原因,每个循环之间的其他部分不再可访问(如{{item.title}},这是一个模型属性)。此外,Ember-Inspector现在向我展示“View Tree”-Tab中的另外两个条目,每个循环中的每个项目都有一个条目。

有人可以解释一下吗?

1 个答案:

答案 0 :(得分:3)

控制器不再代理模型中的属性。您需要完全限定要访问的属性。该模型现在是控制器上的属性model(现在是项目)。

模型上的属性

{{item.model.title}}

控制器上的属性

{{item.fooProp}}