5
强制运行计算属性函数
给定计算属性 vm.checkedValueCount = ko.computed(function(){ var observables = getCurrentValues(); //an array of ko.observable[] return _.filter(observables, function(v) { return v() }).length; }); 假设getCurrentValues()可以返回不同的可观察对象集,这些可观察对象集在代码的其他位置进行了修改(并且来自比observableArray更复杂的结构)。 我需要checkedValueCount随时更新 其依赖项之一更改 getCurrentValues()返回一组不同的可观察值。 问题在于,它ko.computed似乎记住了最后返回的值,并且仅在依赖项更新时才更新。这处理第一种情况,但不适用于后者。 我正在寻找的是一种强制重新运行checkedValueCount的方法。我可以使用的东西: changeCurrentValues(); vm.checkeValueCount.recalculate(); 简而言之,鉴于我有 a = ko.computed(function() { return Math.random() }) 如何强制a()两次调用才能返回不同的值。