如果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
更改时不会被调用。有什么办法可以告诉计算机不向它的依赖列表中添加属性吗?
包括其他相关代码 –