如果isVisible屬性存在,則根據值打開或關閉信息框。Knockout:Prevenet將屬性添加到計算的相關性列表中
self.infoboxState = ko.computed(function() {
if (!ko.computedContext.isInitial()) {
self.performAdditionalBehaviors();
}
return ko.unwrap(self.isVisible)? 'infobox-open' : 'infobox-closed';
}, this);
當我們第二次也將執行performAdditionalBehaviors()
方法設置isVisible
值。此方法包含一個可觀察的屬性isDim
和infoboxState
變得依賴於兩個觀測值,這意味着isDim
屬性中的任何更改現在也將調用infoboxState
。我驗證了從getDependenciesCount()
現在設置爲2
。
問題是,我不希望infoboxState
在isDim
更改時不會被調用。有什麼辦法可以告訴計算機不向它的依賴列表中添加屬性嗎?
包括其他相關代碼 –