我有一个工作的淘汰赛js脚本,myValues是一个ko.computed的数组结果,然后我将它传递给myValues2,它调用myFunction使该数组中的每个对象为#34;可观察"。这有效但我想在self.myValues中调用myFunction,这样我就不必创建另一个observableArray myValues2了。你能帮我把myValues和myValues2的脚本结合起来,这样我最终可以删除self.myValues2。这是我的代码:
var myFunction = function (id, name, amount, automatic) {
var self = this;
self.Id = ko.observable(id);
self.Name = ko.observable(name);
self.Amount = ko.observable(amount);
self.Automatic = ko.observable(automatic);
};
self.myValues = ko.computed(function () {
return ko.utils.arrayFilter(self.completeList(), function (ded) {
return ded.automatic() == true;
});
});
self.myValues2 = ko.observableArray();
self.myValues2(ko.utils.arrayMap(self.myValues(), function (dd) {
return new myFunction(dd.id(), dd.name(), dd.amount(), dd.automatic());
}));
答案 0 :(得分:0)
self.completeList()
如何定义这个数组?
因为您开始按自动字段过滤此列表,然后填写其他列表。奇怪的顺序。
return ded.automatic() == true;