微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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’处理程序,在返回数据时调用该处理程序,这是正确的点,然后填充视图模型并应用绑定.

原文地址:https://www.jb51.cc/jquery/177988.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐