沒有CONCAT只有開始knockout.js,但是當試圖使computed
方法基於2個不同的observableArray
小號knockout.js:上observableArray
使用上knockout.js'網站上的文檔已經運行了一些麻煩,我創建了以下視圖模型:
var Cart = function() {
var self = this;
self.Products = ko.observableArray([]);
self.Products2 = ko.observableArray([]);
self.Messages = ko.observableArray([]);
self.TotalAmount = ko.computed(function() {
var result = 0;
ko.utils.arrayForEach(
this.Products().concat(this.Products2()),
function(item) {
result+=item.AmountIncludingVAT();
}
);
return result;
});
};
這樣做,這將引發的"Uncaught TypeError: Object #<error> has no method 'concat'
錯誤。
我知道這個函數叫做arrayPushAll
,但它是一個破壞性的函數,它會改變原來的observableArray
。 (我不認爲這是我想要的東西)。
有沒有乾淨方式來實現我想要做的?或者我必須撥打arrayForEach
兩個不同的電話,每個陣列一個?
別的東西是你的代碼錯誤。儘管'observableArray'沒有'concat'方法,但是數組有。用'this.Products()'你可以展開observable並在數組上工作。所以請創建一個顯示此錯誤的工作JSFIddle! – nemesv