ember.js-指定itemcontroller时,目标路由操作而不是控制器
我正在使用一个itemController遍历一个collecion,如下所示:ember.js-指定itemcontroller时,目标路由操作而不是控制器,ember.js,Ember.js,我正在使用一个itemController遍历一个collecion,如下所示: {{#each col itemController="colItem"}} <li> <a {{action doAction this}} href="#">{{name}}</a> </li> {{/each}} Radium.SomeRoute = Ember.Route.extend events: doAction: (sta
{{#each col itemController="colItem"}}
<li>
<a {{action doAction this}} href="#">{{name}}</a>
</li>
{{/each}}
Radium.SomeRoute = Ember.Route.extend
events:
doAction: (status)->
如果我删除itemController,那么它将被分派到路由。我可以以某种方式将路由操作作为目标吗?假设您的控制器是Ember.controller的实例,并且没有实现它自己的
doAction
,则事件应该自动冒泡到路由
这可能是一个余烬bug,但当您通过{{{each}}
帮助程序指定一个项目控制器时,事件似乎不会向路由器冒泡
作为一种解决方法,您可以将itemController指定为父控制器的属性
App.ItemsController = Ember.ArrayController.extend({
itemController: "Item"
});
我创建了一个jsbin来演示这种解决方法:控制器就是itemController。