以前这可行,但我将下划线和主干更新到最新版本,然后我收到错误
Uncaught TypeError: this.$el.off is not a function
SearchView = Backbone.View.extend({
initialize: function(){
this.render();
},
render: function(){
var template = _.template( $("#search_template").html(), {} );
this.el.html( template );
},
events: {
"click input[type=button]": "doSearch"
},
doSearch: function(){
// Button clicked
console.log(this.el.find('#search_input').val());
}
});
答案 0 :(得分:4)
你有几个问题:
您的小提琴使用的是古老的jQuery 1.5.2,并使用import
/ bind
代替unbind
/ on
。 Backbone期望更新版本的jQuery具有off
和on
功能。
$(this.el)
形式的var html = _.template(tmpl, data)
went away in Underscore 1.7.0。您现在需要一个两步过程:
_.template
所以你的var t = _.template(tmpl);
var h = t(data);
应该更像这样:
render