1
在我看來模型計算,我有一個觀察的數組,需要從一個$ .getJSON調用填充。我想要一個計算的可觀察值來表示返回的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
值當我嘗試填充計算觀測。 this.coupons()
出錯:「this.coupons()不是函數」。我需要做些什麼來完成這件事,和/或我做錯了什麼?
我不是100%你正在試圖完成的事情,但是你計算機內的'this'不再引用你的視圖模型。我不明白你的JavaScript的語法,因爲我從來沒有這樣寫過。 –
我明白了,很快就會發布更新。感謝您花時間看我的問題。 – Brandon