0

次のようなitemControllerを使用してコレクションを反復処理しています。

{{#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を削除すると、ルートにディスパッチされます。どういうわけかルートアクションをターゲットにできますか?

4

1 に答える 1

2

コントローラがEmber.Controllerのインスタンスであり、それ自体を実装していないと仮定するとdoAction、イベントは自動的にルートにバブルアップするはずです。

{{#each}}残り火のバグかもしれませんが、ヘルパーを介してアイテムコントローラーを指定すると、イベントがルーターにバブルされないようです。

回避策として、代わりにitemControllerを親コントローラーのプロパティとして指定できます。

App.ItemsController = Ember.ArrayController.extend({
  itemController: "Item"
});

この回避策を示すためにjsbinを作成しました:http://jsbin.com/anesop/2/edit

于 2013-02-06T02:56:24.473 に答える