2

我在 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 操作始终将数组的第一个用户打印到控制台。绑定有什么问题?

4

1 回答 1

2

非常感谢您的要求,把它放在一个 jsfiddle 中!

当我试图在那里重现错误时,我意识到了这个问题,它与 ember 无关。

id="dropdown-1" 的 div 是从另一个链接调用的,它始终是相同的 id,因此与其用户绑定始终相同。

现在我已经将 Id 绑定到用户对象并且它工作得很好。

于 2012-11-20T13:48:07.247 回答