在我的视图模型中,我有一个需要从 $.getJSON 调用中填充的可观察数组。我想要一个计算出的 observable 来表示返回的 JSON 中包含的“价格”列的总数。
我已经设法填充了可观察数组......
(function($){
function Coupon(expiration, value) {
var self = this;
self.expiration = expiration;
self.value = value;
}
$(function() {
$.when($.getJSON(coupons_url, null)).done(function(couponsJson) {
ko.applyBindings({
coupons: ko.utils.arrayMap(couponsJson[0].objects,
function(coupon) {
return new Coupon(coupon.expiration, coupon.value);
})
savingsAvailable: ko.computed(function() {
var total = 0;
for (var i = 0; i < this.coupons().length; i++) {
total += parseFloat(this.coupons()[i].value / 100);
}
return total.toFixed(2);
})
});
});
});
})(jQuery);
...但我不确定如何访问coupons
当我尝试填充计算的 observable 时的值。this.coupons()
错误:“this.coupons() 不是函数”。我需要做什么才能做到这一点,和/或我做错了什么?