YS.*_*YS. 7 ajax jquery knockout.js
请考虑以下ViewModel代码段:
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));
Run Code Online (Sandbox Code Playgroud)
似乎我的ajax呼叫$.get太慢或者ko.applyBindings()太快了.无论哪种方式,如果我取消注释该行,似乎敲除只能正确绑定alert('here');.
如果我留下评论,则不会填充任何控件.
任何想法,伙计们?
我能想到的唯一工作就是像这样做.applyBindings函数回调的一部分$.get:
$.get("testSynUfGet.aspx", null, function (data) {
ko.applyBindings(new viewModel(data.id, data.given1, data.given2));
}, 'json');
Run Code Online (Sandbox Code Playgroud)
只有在页面上只有一个ajax调用时,此解决方法才有效.我认为正确的解决方案是首先创建你的viewmodel,id,given1和given2是observables(initally empty).然后在ajax回调中,您可以更改这些observable的值.
| 归档时间: |
|
| 查看次数: |
3020 次 |
| 最近记录: |