我想要实现的目标:创建带有视图的控制器,在这个视图中我有“画廊”对象的列表。每个项目都有自己的视图和控制器。
所有文件都在这里:https ://gist.github.com/7e72bb2f532c171b1bf3
它按预期工作,在悬停一些文本后显示/隐藏,但我个人认为这不是很好的解决方案。
我认为我可能应该使用 {{collection}} 助手,但是在 ember.js 页面上没有它的文档(代码中有一些,但我不确定这个助手是否有点过时,因为在源代码中它说“// TODO:不需要所有这个模块”)。
我尝试使用 itemController 属性,但是我仍然在一个文件中有模板。
还尝试在 {{#each}} 中使用 {{render}} 助手,但随后会引发错误。
那么,有没有更好/更清洁的方法来实现我想要的?
编辑
在按照 Michael Grassotti 提供的解释进行所有操作后,我有奇怪的行为 - 模板的属性是从 itemController 获取的,但是 {{action}} 助手绑定到父控制器。我制作了屏幕截图以显示我正在处理的内容。
基本上 itemView 中的“this”指向右控制器(itemController),但目标属性具有父控制器。
制作{{action "deleteGallery" this target="this"}}
并单击它后,我有截图中的错误。此刻,我的想法已经不多了……
编辑2:
好的,我想多了,itemController 仅用于定义计算属性,而不用于编写 {{action}} 处理程序。
EDIT3: 我认为我的 itemController 和事件目标的问题将得到解决。 https://github.com/emberjs/ember.js/issues/1846