2

私は現在、Ember.js 入門ガイドに取り組んでいますが、ガイドに記載されているように、RC3.1 の代わりに v1.0.0-rc.6.3 を使用しています。

単一の todo の編集の実装に関する章に到達しましたが、ガイドに実装されている {{action}} ハンドラーが機能していないようです。

JSBin のこれまでのコードは次のとおりです: http://jsbin.com/ogixej/1/edit

ご覧のとおり、todo アイテムをダブルクリックすると、コンソールにエラーが発生します。

Uncaught Error: Nothing handled the event 'editTodo'. 

私が正しい方法でそれを行うことになっている方法を変更した理由を教えていただけますか?

4

2 に答える 2

2

これがコメントであることは認識していますが、私の評判はまだ低すぎます。

@intuitivePixelの答えは正しく、受け入れられていますが、例の後半、移行の例(入門ガイド - 子ルートの追加)では機能しませんでした。テンプレートを分割したら、次のように、itemControllerプロパティをコントローラーからテンプレートに移動する必要がありました{{#each}}

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

よく見ると、このコードは Ember の最初のサンプル ブロックにありますが、周囲の説明では呼び出されていないため、見逃していました。

于 2013-10-02T23:06:08.613 に答える
2

yourは、次のようTodoControllerに、 your でこれを定義する必要がある項目を担当するコントローラーであるため、次のようにします。TodosController

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

このようにして、editTodo関数は正しく呼び出されます。ここに作業中のjsbin があります。

それが役に立てば幸い。

于 2013-08-04T16:58:21.843 に答える