javascript - 修改 Controller 属性时,Ember 不更新模板

标签 javascript ember.js

我正在通过操作修改一个属性,但 Ember 不会更新渲染的模板。

我的 Controller :

selected_rows_id: [],
actions: {
    selectRow(rowId) {
        let selected_rows = this.get('selected_rows_id');
        if (selected_rows.indexOf(rowId) === -1) {
            selected_rows.push(rowId);
            // selected_rows.pushObject(rowId); does not work either
        }
        this.set('selected_rows_id', selected_rows);
    },
}

在我的模板中,我使用 {{selected_rows_id}}显示我的元素

我创建了一个 twiddle展示我做了什么

最佳答案

使用pushObject而不是push:

actions: {
    selectRow(rowId) {
        let selected_rows = this.get('selected_rows_id');
        selected_rows.pushObject(rowId);
    },
}

关于javascript - 修改 Controller 属性时,Ember 不更新模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41126748/

相关文章:

javascript - Firefox 不断提示在单页应用程序上保存密码

javascript - Ember.js - 过滤模型的所有属性

rest - 在将 ember-data 与 RESTAdapters 一起使用时,如何处理 emberJs 中的 HTTP 错误?

javascript - Ember 数据 "Cannot call method ' hasOwnProperty' of undefined"

ember.js - Ember.Component 的 sendAction() 查看目标

javascript - 为什么 Bxslider 不工作

c# - 尝试从 asp.net 引用 javascript

javascript - 从 Array.filter 内部返回条件 if

javascript - 将 PHP 与 Javascript 结合使用以从购物车中删除商品

javascript - Handlebars 助手的 Ember View 无法检测到自己何时被单击