Skip to content

Instantly share code, notes, and snippets.

@mxriverlynn
Created August 3, 2011 21:19
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save mxriverlynn/1123795 to your computer and use it in GitHub Desktop.
Save mxriverlynn/1123795 to your computer and use it in GitHub Desktop.
don't route commands and events
SomeModel = Backbone.Model.extend({});
SomeCollection = Backbone.Collection.extend({
model: SomeModel
});
SomeView = Backbone.view.extend({
el: "#some-model",
template: "#some-template",
render: function(){
var html = $(this.template).tmpl(this.model);
$(this.el).html(html);
}
});
SomeRouter = Backbone.Router.extend({
routes: {
'#/delete/:id': 'delete'
},
delete: function(id){
model = someCollection.find(id);
model.destroy();
$("#some-model").remove();
}
});
<div id="some-model">
<p>display some data from the model, here</p>
<a class="delete" href="#/delete/1">delete</a>
</div>
SomeModel = Backbone.Model.extend({});
SomeCollection = Backbone.Collection.extend({
model: SomeModel
});
SomeView = Backbone.view.extend({
el: "#some-model",
template: "#some-template",
events: {
"click a.delete": "delete"
},
render: function(){
var html = $(this.template).tmpl(this.model);
$(this.el).html(html);
},
delete: function(e){
e.preventDefault();
this.model.destroy();
this.remove();
}
});
<div id="some-model">
<p>display some data from the model, here</p>
<a class="delete" href="#">delete</a>
</div>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment