有一個去與Knockout玩,我推到一個可觀察數組有問題。我下面的代碼通過點擊按鈕從服務器獲取一些json數據,它返回一個對象數組。第一個console.log控制檯很好,我有我的陣列的對象很好,丹迪。基因敲除observableArray push - 不推送到數組
但是,我似乎無法將每個對象推到我的可觀察數組上。控制檯顯示空數組。我嘗試了幾種變化,但感覺我只是想念一些簡單的東西,但我很難追蹤它。
我想要做的是從服務器加載一些數據,把它放在一個可觀察的數組中,我可以綁定到一個模板,並做一些像foreach一樣的東西來輸出數組的內容。
$(function() {
$('#load').click(function() {
$.getJSON('/PreferredDrugList/service/preferredDrugs/y', function(data) {
$(data.preferredDrugs).each(function(index, obj) {
console.log(obj);
$('#result').append('<p>' + (++index) + ') ' + obj.drugName + ' : ' + obj.dosageFormDesc + '</p>');
myViewModel.drugList.push(obj);
console.log(myViewModel.drugList);
});
});//end getJSON
});//end load
});//end ondomready
var myViewModel = {
drugList: ko.observableArray() //list of drug names
};
ko.applyBindings(myViewModel);
你可能的意思是'console.log(myViewModel.drugList());' –
在這方面似乎沒有什麼區別,仍然得到空陣列安慰。 –
垃圾,我的壞,肯定是緩存問題,它似乎現在工作!現在我只需要弄清楚如何讓我的foreach:drugList渲染。 –