Ember.js: 哪个控制器负责?
Ember.js: Which controller is in charge?
我有什么
ember-cli POD 结构。
我有嵌套的路线,所以有以下文件夹结构:
|
|_pods
|_items
|_index
| |_controller.js
| |_route.js
| |_template.hbs
|_item
|_controller.js
我正在 items/index/route.js 的模型挂钩中加载模型的所有项目记录。在我的索引模板中,我正在迭代项目模型中的所有项目。
{{#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 中向我展示了两个条目,一个对应于 each-loop 中的每个项目。
有人可以解释一下吗?
控制器不再代理模型的属性。您需要完全限定要访问的 属性。该模型现在是控制器上的 属性 model
(这是现在的项目)。
属性 模特
{{item.model.title}}
属性 在控制器上
{{item.fooProp}}
我有什么
ember-cli POD 结构。 我有嵌套的路线,所以有以下文件夹结构:
|
|_pods
|_items
|_index
| |_controller.js
| |_route.js
| |_template.hbs
|_item
|_controller.js
我正在 items/index/route.js 的模型挂钩中加载模型的所有项目记录。在我的索引模板中,我正在迭代项目模型中的所有项目。
{{#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 中向我展示了两个条目,一个对应于 each-loop 中的每个项目。
有人可以解释一下吗?
控制器不再代理模型的属性。您需要完全限定要访问的 属性。该模型现在是控制器上的 属性 model
(这是现在的项目)。
属性 模特
{{item.model.title}}
属性 在控制器上
{{item.fooProp}}