javascript - How do you ensure you don't create model twice using history in backbone.js? -
javascript - How do you ensure you don't create model twice using history in backbone.js? -
in router have
routes: { "create/:type": "create", // #create/modeltype "diagram/:id": "diagram", // #diagram/193 "": "list" // },
then have create route
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); } }); },
if creates model , clicks back, create model, not happen.
you can create newdiagram
variable property on router called diagram
. can instantiate first time create method called, , next calls create method can utilize variable.
here's example
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); } }); },
javascript routes backbone.js history
Comments
Post a Comment