Knockout在最后一次迭代中计算出来自循环的变量

时间:2013-05-15 13:47:02

标签: knockout.js computed-observable

我正在努力实现这样的目标:

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}上被调用 希望这有点清楚...

0 个答案:

没有答案