4

これが初心者の質問である場合は申し訳ありません。私は Ember.js が初めてで、いくつかのことを理解しようとしています。Ember.js で、配列コントローラーにオブジェクトのリストがあり、特定のオブジェクトごとにビューをレンダリングしているとします。ユーザーが特定のオブジェクトに属する DOM 要素をクリックした場合、その要素がクリックされたオブジェクトを特定するにはどうすればよいでしょうか?

ul#mainChat
  {{#each chat in App.chatController}}
  {{#view App.MainChatView tagName="li"}}
  li | Example
  {{/view}}
  {{/each}}

チャット コントローラー配列に 5 つのオブジェクトがあり、5 つの li が生成された場合、ユーザーが 1 つをクリックすると、どのオブジェクトに属しているかを判断するにはどうすればよいですか。

ありがとう!

4

1 に答える 1

5

その要素のアクションを含め、アクションにコンテキストを渡す必要があります。これには、ターゲットのアクションの event.context を介してアクセスできます。

例えば。

{{#each item in items}}
  <li {{action viewItem item target="view"}}>{{name}}</li>
{{/each}}

次に、ビュー(またはアクションのターゲットをどこに設定しても、何をしているかによって異なります)で次のようになります。

viewItem: function(event) {
  var item;
  item = event.context;
  //do what you want with the item 
}
于 2012-12-12T05:10:45.510 に答える