我有一个详细信息视图,其中包含2个用于创建/编辑的按钮。
点击这些按钮,我会显示一个模态弹出窗口
var modal = new MyAppModalView({
model: person
});
modal.bind("afterSave", function(values) {
self.showMessage('Sucessfully submitted for saving', false, true);
return true;
});
同样在Modal视图代码中,我有:
if (isNew) {
//Create flow
this.model.save(myJSON, {
url: "myapp/persons/create",
success: function() {
self.trigger("afterSave");
self.removeModal();
}
});
} else {
//Edit flow
this.model.save(myJSON, {
url: "myapp/persons/edit",
success: function() {
self.trigger("afterSave");
self.removeModal();
}
});
}
现在,在为“创建/编辑”保存后,我会触发afterSave
的事件在为Create流触发事件时,不会触发Edit流。我不确定为什么会这样?
我尝试为模态(afterSave / afterUpdate)绑定2个单独的平均值,并为Create / Edit触发每个evens;仍然没有为Edit(afterUpdate)
调用触发器代码在saveAction中调用,如下所示;
var MyAppModalView = BaseModal.extend({
....
saveAction: function(event) {
var self = this;
}
});
答案 0 :(得分:0)
您不必拥有与POST(创建)和PUT(保存)不同的URL。这会将你的代码修改为:
this.model.save(myJSON, {
success: function() {
self.trigger("afterSave");
self.removeModal();
}
});
如果正在调用removeModal(),则会触发“afterSave”,但您的编辑视图会导致afterSave消息无法以某种方式显示。您可以使用警报替换成功消息,以验证是否属实。