我想要獲取計算值並將這些值推送到可觀察數組。 Web Api控制器返回簡單的值 - 只是沒有json wrap的純數字。可能是這個問題。請告知,因爲我是Knockout的新手。 P.S.這是兩個ajax調用,因爲他們調用不同的api控制器。Knockout.js計算可觀察不綁定到可觀察數組
function GrafikViewModel(grafikUri) {
var self = this;
self.books = ko.observableArray();
self.PaxLeft = ko.computed(function() {
ko.utils.arrayForEach(self.books(), function (book) {
$.getJSON("/api/orders/getpax/" + book.kodg, function (item) {
self.books().push(item);
});
}, GrafikViewModel)
});
$.getJSON(grafikUri, function (data) {
self.books(data.$values);
});
}
你想用一個副作用一個計算的?你確定?順便說一句,你已經在這裏創建了一個循環依賴關係 - 一個計算結果改變了「書」,並對「書」上的變化做出了反應。我認爲你在錯誤的軌道上,請解釋你實際上想要做的事情。 – Tomalak
副作用是什麼意思?關於循環依賴你是對的。我應該改變它是self.PaxLeft(這是ko.observable)?實際上,我的目標是從兩個不同的控制器獲取數據,並將它們放到同一個observableArray中。 –
我在想第一個ajax調用。難道這是控制器返回只是純粹的整數值,沒有任何JSON包裝的問題? –