如何在Ember.js中引用单击的对象

Olu*_*Olu 4 ember.js

如果这是一个菜鸟问题,我很抱歉,我是Ember.js的新手并试图解决一些问题.在Ember.js中,假设我有一个数组控制器中的对象列表并为每个特定对象呈现视图,如果用户单击属于特定对象的DOM元素,如何确定哪个对象的元素被单击?

ul#mainChat
  {{#each chat in App.chatController}}
  {{#view App.MainChatView tagName="li"}}
  li | Example
  {{/view}}
  {{/each}}
Run Code Online (Sandbox Code Playgroud)

如果我在聊天控制器阵列中有5个对象并且生成了5个li,则用户单击一个,我如何确定属于哪个对象.

谢谢!

And*_*lan 5

您必须为该元素包含一个操作,并将操作传递给上下文,您可以通过目标中的操作event.context访问该上下文.

例如.

{{#each item in items}}
  <li {{action viewItem item target="view"}}>{{name}}</li>
{{/each}}
Run Code Online (Sandbox Code Playgroud)

然后在你的视图中(或者你设置动作目标的地方,它取决于你正在做什么)你将拥有:

viewItem: function(event) {
  var item;
  item = event.context;
  //do what you want with the item 
}
Run Code Online (Sandbox Code Playgroud)