繁体   English   中英

无法在Ember.js中观察到对象数组?

[英]Unable to observe an array of objects in Ember.js?

我在这样的组件中有一组对象:

checkboxes: [
    {
        label: 'A',
        state: false
    },
    {
        label: 'B',
        state: false
    },
    {
        label: 'C',
        state: false
    }
]

在我的Handlebars模板中,我有一个循环来显示复选框列表,每个复选框状态都映射回数组项,如下所示:

{{#each checkboxes as |item|}}
    <li><input type="checkbox" checked={{item.state}}> {{item.label}}</li>
{{/each}}

我写了一个观察者来观察数组的变化,但是它似乎不起作用:

observeCheckboxes: function() {
    console.log(this.get('checkboxes').toArray());
}.observes('checkboxes.[]')

如何观察复选框状态的变化,以便获得已检查项目的列表?

更改您的观察者以遵守checkboxes.@each.state

浏览此处的文档以获取完整概述。

如果可能,请尝试避免使用观察者,而是使用计算的属性,然后将计算的属性和观察者定义为Ember.computed和Ember.observer。

这是一个旋转现象 ,展示了为什么观察者没有开火。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM