Tag: 计算可观察

如何在Knockout中创build一个计算的可观察数组

我想知道如何创build一个计算观察数组。 在我的视图模型中,我有2个可观察数组,我想有一个计算可观数组,只是两个数组组合。 function ViewModel() { var self = this; self.listA= ko.observableArray([]); self.listB = ko.observableArray([]); self.masterList= //combine both list A and B

强制计算属性函数运行

给定一个计算的属性 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似乎memoize最后返回的值,只有更新时,依赖项更新。 这处理第一个案件,但不是后者。 我正在寻找的方法是强制checkedValueCount重新运行。 一些我可以使用的东西: changeCurrentValues(); vm.checkeValueCount.recalculate(); 最简单的,因为我有 a = ko.computed(function() { return Math.random() }) 我怎么能强制调用a()两次返回不同的值。