我正在使用像这样的itemController迭代collecion:
{{#each col itemController="colItem"}}
<li>
<a {{action doAction this}} href="#">{{name}}</a>
</li>
{{/each}}
我希望doAction转到路线而不是itemController。
我在这样的路线中定义了doAction:
Radium.SomeRoute = Ember.Route.extend
events:
doAction: (status)->
如果我删除itemController,那么它将被分派到路由。我能以某种方式定位路线行动吗?
答案 0 :(得分:2)
假设您的控制器是Ember.Controller的一个实例,并且尚未实现它自己的doAction
,则该事件应自动冒泡到路径。
这可能是一个漏洞错误,但是当您通过{{#each}}
帮助程序指定项目控制器时,事件似乎不会冒泡到路由器。
作为一种变通方法,您可以将itemController指定为父控制器的属性。
App.ItemsController = Ember.ArrayController.extend({
itemController: "Item"
});
我已经创建了一个jsbin来演示这种解决方法:http://jsbin.com/anesop/2/edit