编辑看起来我现在从服务器加载它。如果有人看到这方面的任何问题,很想听听他们的消息。
在使淘汰赛映射插件正常工作时遇到一些问题。我可以毫无问题地使用静态数据,请参阅http://jsfiddle.net/RH9wQ/
但是,当我尝试从服务器加载数据时,它似乎不起作用。下面是我正在使用的基本代码。jsfiddle 中的数据是从我的服务器返回的确切数据。我错过了一些完全明显的东西吗?
我正在做的是根据单击的 alpha 按钮加载不同的药物。所以点击“y”得到一个以y开头的药物列表,点击“z”得到一个以z开头的药物列表。单击按钮/加载数据时,我想用来自服务器的数据替换我的 viewModel 数据。
另外,请注意 jsfiddle 页面上的控制台,数据看起来很好(8 个数组元素和 count=8),但请注意 viewModel 的控制台,preferredDrugs 和 count 不同,有人知道这是为什么吗?
$(function() {
$('.load').click(function() {
var $letter = $(this).attr('value');
//show spinner
$('#loading').show();
//load in drug list data
$.getJSON('/PreferredDrugList/service/preferredDrugs/' + $letter, function(data) {
//hide spinner
$('#loading').hide();
console.log(data);
//create observable properties for each of the properties on data
ko.mapping.fromJS(data, viewModel);
console.log(viewModel);
});
});
});//end ondomready
//default data
var data = {
preferredDrugs: [],
count: 0
};
var viewModel = ko.mapping.fromJS(data);
ko.applyBindings(viewModel);