0
當我從服務器獲取數據時,無法在我的observableArray中插入任何值,但其他元素獲取數據。無法用服務器中的數據填充observableArray
JS 標記:
var itemViewModel = {
item: {},
isLoaded: ko.observable(false),
comments: ko.observableArray([]),
loadcontent: function (getID) {
$.ajax({
url: '/api/item/details/' + getID,
dataType: 'json',
success: function (data) {
itemViewModel.item = data;
$.each(data.Comments, function (index) {
itemViewModel.comments.push(data.Comments[index]);
console.log(data.Comments[index]);
console.log(itemViewModel.comments);
});
itemViewModel.isLoaded(true);
itemDetailBindings();
console.log(itemViewModel.item);
console.log(itemViewModel.comments);
}
});
}
};
結果:
Object
[]
Object
[]
Object
[]
[]
Object
[]
是返回JSON服務器?在Ajax調用的成功函數中嘗試console.logging只是'data'。 – bcmcfc
是的,數據給出的項目值,但留下評論沒有價值 – skmasq
這不會回答這個問題,但它可能會解決問題......爲什麼不聲明你的每個語句爲'$ .each(data.Comments,function(index ,thisComment){'?這將允許數組填充如下:'itemViewModel.comments.push(theComment);'我相信'itemViewModel.comments.push(this);'也可以,沒有額外的參數傳遞給匿名函數 – jimmym715