如何使某些可观察的“独立”计算可观察(Knockout.js)
How to make 'independent' computed observable of some observable (Knockout.js)
我有三个可观察量
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);
如何使co
仅在更新b
或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);
另请参阅文档中的内容。
演示 JSFiddle。
似乎
更像是订阅的工作
var viewModel = {};
viewModel.a = ko.observable(0);
viewModel.b = ko.observable(0);
viewModel.c = ko.observable(0);
viewModel.co = ko.observable(0);
viewModel.b.subscribe(function(newValue) {
viewModel.co(parseInt(viewModel.b()) + parseInt(viewModel.c()));
});
viewModel.c.subscribe(function(newValue) {
viewModel.co(parseInt(viewModel.b()) + parseInt(viewModel.c()));
});
ko.applyBindings(viewModel);
相关文章:
- 下拉列表未从计算的可观察项更新
- 在编辑记录上可观察的挖空 JS 计算
- 挖空映射:加载数据后,父模型中的计算可观察量不会更新
- Knockout.js:在可选定义的值上计算可观察性
- 如何使用ES6在Ember中声明可观察性或计算属性
- 击倒计算的可观察到的未发射'写'
- 向KO传递在对象内可观察到的计算值
- 如何使某些可观察的“独立”计算可观察(Knockout.js)
- 如何在运行时向计算可观察量添加其他数组项
- Knockout.js - 如何在计算的可观察量中获取可观察属性的值
- 在不重置对象的情况下重新计算计算可观察量
- 从计算的可观察量中获取价值
- Knockout的可写计算在AngularJS中可观察的模拟是什么?
- 使挖空计算订阅不在初始执行路径中的可观察量
- 如何在淘汰.js中实现可计算的可观察量
- 根据异步数据计算的可观察量
- .replace() 表达式未在计算可观察量中更新
- 对计算可观察量的挖空 JS 绑定不起作用
- 挖空添加计算中断可观察数组
- 将通过原型计算的可观察对象添加到构造函数中