2

我目前正在阅读 Ember.js 入门指南,但我使用的是 v1.0.0-rc.6.3 而不是指南中提到的 RC3.1。

现在我到了关于实现单个待办事项编辑的章节,但是指南中实现的 {{action}} 处理程序似乎不起作用,所以我的第一个假设是事件的行为发生了变化。

到目前为止,这是我在 JSBin 中的代码:http: //jsbin.com/ogixej/1/edit

如您所见,当您双击待办事项时,控制台中会出现错误:

Uncaught Error: Nothing handled the event 'editTodo'. 

你能告诉我是什么改变了我应该如何以正确的方式去做吗?

4

2 回答 2

2

由于您TodoController是负责您需要在您的 上定义它的项目的控制器TodosController,如下所示:

Todos.TodosController = Ember.ArrayController.extend({
  itemController: 'todo',
  ...
});

这样就editTodo可以正确调用该函数。这是您的工作jsbin

希望能帮助到你。

于 2013-08-04T16:58:21.843 回答
2

我承认这应该是一条评论,但我的声誉太低了。

虽然@intuitivePixel 的答案是正确的,并且被接受,但在示例后面的过渡示例(入门指南 - 添加子路由)期间,它对我不起作用。一旦我将模板分开,我必须在 期间将itemController属性从控制器移动到模板中{{#each}},如下所示:

{{#each itemController="todo"}}
    ...
{{/each}}

如果你仔细看,你可以在 Ember 的第一个示例块中找到这段代码,但是在周围的叙述中没有提到它,所以我错过了它。

于 2013-10-02T23:06:08.613 回答