jquery – applyBindings()太快,在Ajax请求完成之前调用

前端之家收集整理的这篇文章主要介绍了jquery – applyBindings()太快,在Ajax请求完成之前调用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
请考虑以下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,given2));

似乎我通过$.get调用ajax太慢或者ko.applyBindings()太快了.无论哪种方式,如果我取消注释线警报(‘here’),似乎敲门只能正确绑定.

如果我留下评论,则不会填充任何控件.

任何想法,伙计们?

我能想到的唯一工作是将.applyBindings作为$.get中函数回调的一部分,如下所示:

$.get("testSynUfGet.aspx",function (data) {
    ko.applyBindings(new viewmodel(data.id,data.given1,data.given2));
},'json');

解决方法

您的解决方法是正确的做事方式.这是您的’sucess’处理程序,在返回数据时调用该处理程序,这是正确的点,然后填充视图模型并应用绑定.

猜你在找的jQuery相关文章