我有一个可观察数组
this.item = ko.observableArray({
tax: ko.observable(8.0);
price: ko.observable(100.00);
eachTotal: ko.computed(function() {
this.tax() * this.price();
});
});
我得到错误说对象[窗口]没有税务方法。
我该怎么做呢?
我要做的是。
ko.utils.arrayForEach(myModel.item(), function(it) {
it.eachTotal = ko.computed(function() {
return it.tax() * it.price();
});
});
我想知道这是否是最有效的方法?
这个可能不像你在javascript中期望的那样。它是调用者的上下文。
作为补救措施,通常在构造函数的开头为this设置self或_self。在knockout中再次查看示例,并注意self。
或者如果arrayForEach像下划线一样工作,则存在第三个参数,即"this context"。