Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ember.js-指定itemcontroller时,目标路由操作而不是控制器_Ember.js - Fatal编程技术网

ember.js-指定itemcontroller时,目标路由操作而不是控制器

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

我正在使用一个itemController遍历一个collecion,如下所示:

{{#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。