請考慮以下視圖模型段之前:的applyBindings()太快,被稱爲Ajax請求完成
var id, given1, given2;
$.get("testSynUfGet.aspx", null, function (data) {
id = data.id;
given1 = data.given1;
given2 = data.given2;
}, 'json');
//alert('here');
ko.applyBindings(new viewModel(id, given1, given2));
看來,通過$.get
我的Ajax調用太慢或ko.applyBindings()
太快。無論哪種方式,如果我取消註釋行alert('here');
似乎敲除只能正確綁定。
如果我將它留下評論,則不會填充任何控件。
任何想法,鄉親?
圍繞我能想到的唯一工作就是做.applyBindings
的回調函數的一部分$.get
這樣的:
$.get("testSynUfGet.aspx", null, function (data) {
ko.applyBindings(new viewModel(data.id, data.given1, data.given2));
}, 'json');
這兩個答案都是有效的,這取決於你試圖達到的目標。 –
只是想重溫一下,我相信我的第一種思考方式仍然是同步編程領域。 正確的是第二個 - 使綁定成爲異步過程的一部分。 –