我在ember.js模板中有以下代码。 userController是一个ArrayController,其中包含多个“用户”。
{{#each CollaborativeEditor.userController}}
{{#view CollaborativeEditor.OnlineUserView userBinding="this"}}
<div class="avatar">
<div class="avatar_name">{{name}}</div>
<div class="avatar_status">{{status}}</div>
</div>
<div id="dropdown-1">
<ul>
<li><a href="#" {{action startChat target="onlineUser"}}>Talk to </a></li>
</ul>
</div>
{{/view}}
{{/each}}
这是相应视图的代码:
CollaborativeEditor.OnlineUserView = Ember.View.extend({
tagName: 'li',
startChat : function() {
console.log(this.get('user'));
}
});
虽然为每个用户正确设置了名称和状态,但是附加到链接的startChat操作始终会将该数组的第一个用户打印到控制台。 绑定有什么问题?
答案 0 :(得分:2)
非常感谢您的要求,将其放入jsfiddle!
当我试图在那里重现错误时,我意识到了这个问题,它与ember无关。
id =“dropdown-1”的div是从另一个链接调用的,它始终是相同的id,因此它的用户绑定始终是相同的动作。
现在我已将Id绑定到用户对象,并且它完美运行。