尝试玩 Knockout,但我在推送到可观察数组时遇到问题。我下面的代码通过单击按钮从服务器获取一些 json 数据,它返回一个对象数组。第一个 console.log 控制台很好,我的对象数组很好而且花花公子。
但是,我似乎无法将每个对象都推送到我的可观察数组上。控制台向我显示空数组。我已经尝试了几种变体,但感觉我只是错过了一些简单的东西,但我很难找到它。
我想要做的是从服务器加载一些数据,把它放在一个可观察的数组中,我可以绑定到模板并执行类似 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);