我從計算屬性返回數組時遇到了這個奇怪的問題。我完全知道這個問題(如下),但不知道解決方案。創建了一個演示目的來解釋的旋轉。ember js - 從計算屬性返回的值看起來緩存
案例1:https://ember-twiddle.com/9910dfea25b6fc4791e3920acca2558d?openFiles=controllers.application.js%2C
步驟:
一)檢查的第一個複選框,如果我們看到的「改編」,在控制檯中的值時,「newprop」屬性將被添加到每個對象in「arr」
b)取消選擇相同的複選框,查看控制檯,同樣的「arr」會以「newprop」仍然返回。 但我假設,它不會在那裏,因爲如果條件有檢查。
所以,經過一些故障排除後,我想出了這個相同的下一個旋轉。
案例2:https://ember-twiddle.com/735750b0a41c4bf87841bc79c6163259?openFiles=controllers.application.js%2C
執行相同的步驟,我們看到,這一次的「改編」沒有「newprop」當複選框取消選中
的只是玩弄之間的區別是第一個數組(具有數據/模型)是在「getData」本身中定義的,第二個是從另一個計算屬性「what」中獲取的。
我在找什麼:我需要有案例1的旋轉工作,但是當複選框未被選中時,「arr」應該返回沒有「newprop」的實際原始「arr」。 另外,需要了解爲什麼會發生。唯一改變的是直接在fn中或通過另一個計算屬性獲取數據。
但我已經給 「filterSet」 作爲一個依賴於 「的getData」 屬性,是不是正確的。這是爲了確保每當filterSet發生更改時調用getData。如果這是正確的,getData總是獲取「what」屬性,因爲this.get('what')應該始終將其取回爲原始數據。請糾正我,如果錯誤 – whyAto8
你做了這個在旋轉?因爲它沒有改變案例1中的問題,在旋轉中。 – Craicerjack
@Craicerjack是的,我改變了旋轉中的代碼,它在控制檯顯示了我想要的結果。 – Timm