0

嗨,我有一个可观察的数组

this.item = ko.observableArray({
     tax: ko.observable(8.0);
     price: ko.observable(100.00);
     eachTotal:  ko.computed(function() {
           this.tax() * this.price();
     });
});

我收到错误消息说对象 [Window] 没有税收方法。

我该怎么做?

4

2 回答 2

1

那么我必须做的是这个。

ko.utils.arrayForEach(myModel.item(), function(it) {
     it.eachTotal = ko.computed(function() {
        return it.tax() * it.price();
     });
});

我想知道这是否是最有效的方法?

于 2012-12-26T16:10:58.997 回答
1

可能不像您在 javascript 中所期望的那样。它是调用者的上下文。
作为一种补救措施,通常在构造函数的开头设置一个self或 _ self在淘汰赛
中再次查看示例并注意self

或者如果arrayForEach下划线一样工作,那么还有第三个参数是“this context”。

于 2013-01-10T14:07:59.237 回答