在“余烬”按钮上存储“临时”数据的最佳方法

时间:2012-03-17 04:14:14

标签: javascript ember.js

我有一个Ember.Button应该从数组中删除一个元素。按钮标签只是一个X(现在)。

我想知道存储数据以供按钮使用的最佳方法。如果这是普通的jquery,我可能会使用data-username。但是最好的方法是什么?

更新 这个问题的用例是这样的:

{{#each App.recentUsersArray}}
    <li>
        {{#view App.RecentNameBtn contentBinding="this"}} {{content}} {{/view}}
        {{#view App.RecentNameDeleteBtn}}X{{/view}}
    </li>
{{/each}}

在第二个视图中,我需要一种方法来了解删除操作应该应用于哪个用户名。

1 个答案:

答案 0 :(得分:1)

使用{{action}}帮助程序,它将上下文作为参数传递,请参阅http://jsfiddle.net/zVd9g/。注意:在即将发布的Ember.js版本中,动作助手只传递一个参数,因此您必须调整源accordingly

如果您想使用现有的观看次数,可以像contentBinding="this"上的App.RecentNameDeleteBtn一样App.RecentNameBtn进行<script type="text/x-handlebars" > {{#each App.arrayController}} <button {{action "showTweets" target="App.arrayController" }} >{{this}}</button> <button {{action "removeItem" target="App.arrayController" }}>x</button> <br/> {{/each}} </script>​

<强>车把:

App = Ember.Application.create({});

App.arrayController = Ember.ArrayProxy.create({
    content: [1, 2, 3, 4, 5, 6],
    removeItem: function(view, evt, item) {
        console.log('remove user %@'.fmt(item));
        this.removeObject(item);
    },
    showTweets: function(view, evt, item) {
        console.log('show tweets of user %@'.fmt(item));
    }
});​

<强> JavaScript的:

{{1}}