2016-04-29 36 views
0

我有对象的组件中的一个这样的数组:无法观察Ember.js中的对象数组?

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

在我的手把模板,我有一个循环,以显示复选框的列表以及每个复选框状态映射回这样的数组项:

{{#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.[]') 

如何观察变化到c heckbox的状态,所以我可以得到一个检查项目列表?

回答

0

改变观察者观察[email protected]

查看文档here以获得完整的概述。

如果可能,尽量避免使用观察者,而是使用计算属性,然后还可以将计算的属性和观察者定义为Ember.computed & Ember.observer。

这是一个twiddle,它演示了为什么你的观察者没有射击。