gpt4 book ai didi

Backbone.js Sync 没有触发模型上的任何事件

转载 作者:行者123 更新时间:2023-12-04 18:48:09 25 4
gpt4 key购买 nike

我有一个非常简单的设置...

设置了一个使用 Bootstrap 调用模式对话框的路由。当单击菜单时,headerView 会调用一个方法 -

menuClick: function(e){
e.preventDefault();
if (!this.myView) {
this.myView= new MyView({model: new MyModel()});
}
this.myView.render();
},

在 MyView 我在初始化中调用 bind
initialize: function(){
this.model.bind('sync', function(model){ alert('test view')});
}

并在按钮单击事件中调用 Backbone.sync:
var response = Backbone.sync('read', this.model, {
success: function(data, textStatus, jqXHR) { alert('success'); },
error: function(data, textStatus, jqXHR){ alert(fail); }
});

同步中的警报被调用......但初始化中绑定(bind)命令中的警报永远不会被调用。尝试在模型内移动绑定(bind),将其移出,还尝试了同步:失败,同步:完成。没有成功。

最佳答案

没有任何事件被触发,因为你没有这么说。您正在传递显式 successerror回调是必须负责触发事件的回调。

原生 Backbone.sync来自高层命令的调用为 save , create , fetch接收 successerror那些触发事件的回调,但是您使用的是自己的,因此可以避免这种 native 行为。

对于example in the Model.save , in the Model.destroy 等等。

但是,正如我在之前的评论中所说,您真的应该考虑是否真的需要调用 Backbone.sync直接而不是使用更高层的方法,如 Model.fetch() .

关于Backbone.js Sync 没有触发模型上的任何事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10590260/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com