簡體   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