我有三个观察点

viewModel.a = ko.observable(0);
viewModel.b = ko.observable(0);
viewModel.c = ko.observable(0);


我需要它们全部以可计算的方式观察

viewModel.co = ko.computed(function(){
    var a = this.a();
    return this.b() + this.c();
}, viewModel);


仅在更新cob时如何使c更新?
http://jsfiddle.net/DgVCF/

最佳答案

您可以使用peek()函数获取a的值,而无需在计算所得的值上创建依赖关系:

viewModel.co = ko.computed(function(){
    var a = this.a.peek();
    console.log(1);
    return this.b() + this.c();
}, viewModel);


另请参见documentation

演示JSFiddle

关于javascript - 如何使“独立”计算的可观察到可观察的(Knockout.js),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20023338/

10-13 02:32