<script>
var obj1 = {
"title": "til1",
"desc": "this is one"
}
var obj2 = {
"title": "til2",
"desc": "this is two"
}
var MyObj = Backbone.Model.extend({});
var myobj1 = new MyObj(obj1);
var myobj2 = new MyObj(obj2);
var MyView = Backbone.View.extend({
tagName : "div",
className: "d1",
events : {
'click button': 'handleClick'
},
initialize: function() {
this.listenTo(this.model, "change", this.render);
this.listenTo(this.model, "destory", this.remove);
},
render: function() {
var json = this.model.toJSON();
this.$el.html('<p>'+ json.title +'</p><p>' + json.desc + '</p><button>delete</button>');
return this;
},
handleClick : function() {
this.model.destroy();
}
});
var myview1 = new MyView({
model : myobj1
});
var myview2 = new MyView({
model : myobj2
});
myview1.render().$el.appendTo($("body"));
myview2.render().$el.appendTo($("body"));
</script>
代码如上,报的错误是这样的:
如果我把这行代码去除就没有问题
events : {
'click button': 'handleClick'
},
难道是用字符串的方式指定函数名有错误吗?不知道是什么原因?
Backbone.js 依赖jQuery 和Underscore.js的,没引入吧。