Javascript 为数组中的每个项计算jQuery淘汰运行
我有一个Javascript 为数组中的每个项计算jQuery淘汰运行,javascript,jquery,knockout.js,Javascript,Jquery,Knockout.js,我有一个ko.computed函数,用于确定ko.observearray()中的当前项是否有效 但是,不会为数组中的每个项执行计算函数 JavaScript: var viewModel = { items: ko.observableArray(["value 1", "value 2", "value 3"]), }; viewModel.isValid = ko.computed(function() { // doesn't gets executed for eac
ko.computed
函数,用于确定ko.observearray()
中的当前项是否有效
但是,不会为数组中的每个项执行计算函数
JavaScript:
var viewModel = {
items: ko.observableArray(["value 1", "value 2", "value 3"]),
};
viewModel.isValid = ko.computed(function() {
// doesn't gets executed for each item
console.log(this);
return true;
}, viewModel);
ko.applyBindings(viewModel);
Html:
计算的
ko.computed
不会自动遍历您的所有项目。你需要自己做这件事:
viewModel.isValid = ko.computed(function() {
ko.utils.arrayForEach(this.items(), function(item) {
console.log(item);
});
return true;
}, viewModel);
演示
ko.computed
仅为您提供了一种功能,即当其一个相关可观测值发生变化时,它会重新计算其值
viewModel.isValid = ko.computed(function() {
ko.utils.arrayForEach(this.items(), function(item) {
console.log(item);
});
return true;
}, viewModel);