我想下面的数据,以用于KO映射
我尝试初始化使用的document.ready阿贾克斯成功事件它
var organisationData = data.d; var orgObject = { organisationsData: organisationData };
var newviewmodel = ko.viewmodel.fromModel(orgObject);
问题是AJAX是采取更长的时间来加载,然后JavaScript错误弹出说视图模型犯规存在。
所以
我怎么能告诉淘汰赛重新绑定一次阿贾克斯已成功加载
有反正我可以告诉KO不结合/隐藏表时,我从阿贾克斯得到的数据是空的?
从继续使用KnockoutJS自动绑定
我做的,我换成一个计时器服务器调用小提琴。
JS:
var vm = {
items: ko.observableArray()
};
ko.applyBindings(vm);
setTimeout(function(){
var rawData =[
{name:'item1'},
{name:'item2'},
];
ko.mapping.fromJS(rawData, {}, vm.items);
// to ensure that name is an observable
var item1Name = vm.items()[0].name();
console.log(item1Name);
},1500);
查看:
<table>
<tbody data-bind="foreach : items">
<tr>
<td data-bind="text : name"></td>
</tr>
</tbody>
</table>
<span data-bind="visible : items().length == 0">Loading...</span>
见小提琴
我希望它能帮助。
你需要调用ko.applyBinding在AJAX的回调,以确保数据是可用的。 目前,这是之前发生的事情,然后在顶部。 这是你的问题。 如果您想进一步的帮助,我建议你创建你的问题的小提琴,让我和其他人试图修复它。