0
我有一個控制器,它使用content
作爲基礎,然後有另一個變量稱爲items
這是內容的過濾版本。更新content
時應更新items
。我試圖在我的控制器中做這樣的事情:鏡像控制器內容
updateItems: function() {
var items = this.get('content').filter(this.get('toggleFilter'));
this.set('items', items);
}.observes('toggleFilter', 'content'),
這很好,除了第一次加載。首次瀏覽頁面時,項目爲空。我收集這是因爲在setupController中它被設置爲content
,它仍在等待信息。
我注意到,將觀察值設置爲content.length
使其工作。然而,這並不理想,部分原因是因爲在裝入數據時將爲每個插入調用updateItems
方法,並且還因爲內容可能會更改,但長度可能保持不變。有一個更好的方法嗎?
初始加載,從項目如下模型被逐一插入。因此,對於1000個項目組,該功能將被稱爲1000次。所有內容信息加載完畢後,是否沒有辦法調用updateItems? – Gevious
Ember runloop足夠聰明,可以在一次插入1000個物品的情況下解決這個問題,它不會爲每一次添加都執行,它會在第1000個元素後執行,但如果這些物品是在不同時間點添加的,當時會得到執行,您可以通過添加console.log或alert來檢查此行爲 –
我嘗試使用您的屬性建議和它的更優雅。它也解決了這個問題。謝謝 – Gevious