[英]How do you ensure you don't create model twice using history in backbone.js?
在我的路由器中
routes: {
"create/:type": "create",
// #create/modeltype
"diagram/:id": "diagram",
// #diagram/193
"": "list"
//
},
然后我有创建路线
create: function(type) {
console.log("diagram create " + type.toUpperCase());
var newDiagram = new Diagram({
type: type.toUpperCase()
});
newDiagram.save({}, {
success: function(model, response) {
console.log("save diagram success");
window.vnb.routers.workspace.navigate("diagram/" + model.get("id"), true);
},
error: function(model, response) {
console.log("error");
console.log(model);
console.log(response);
}
});
},
如果有人创建一个模型然后单击返回,他们将创建另一个模型,我希望这种情况不会发生。
您可以将newDiagram
变量设置为路由器上名为diagram
的属性。 然后,您可以在第一次调用create方法时实例化它,随后对create方法的调用可以使用该变量。
这是一个例子
create: function(type) {
console.log("diagram create " + type.toUpperCase());
if (this.diagram === undefined) {
this.diagram = new Diagram({
type: type.toUpperCase()
});
}
this.diagram.save({}, {
success: function(model, response) {
console.log("save diagram success");
window.vnb.routers.workspace.navigate("diagram/" + model.get("id"), true);
},
error: function(model, response) {
console.log("error");
console.log(model);
console.log(response);
}
});
},
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.