我正在尝试实现这样的目标:
for (var i = 0; i < types.length; i++) {
var type = types[i];
myObj()['text' + type.name] = ko.computed(function () {
return myFuction(myObj()[type.name + 'MyText']());
});
}
如果不清楚,我有一个特定的对象类型,我正在努力实现最大的灵活性。即,我希望能够在数据库中向我的对象添加一个新属性,而无需更改客户端代码。
这工作正常,除非涉及计算变量。在上面的例子中,函数似乎总是在类型的最后一个值上调用,即数组的最后一个值。
有人有解决这个问题的方法吗?
例子:
types = [{name: 'red'}, {name: 'green'}, {name: 'blue'}];
最后, myFunction 和计算变量总是被调用 {name: blue} 希望这有点清楚......