我似乎遇到了一個磚牆Backbone.js的/ underscore.js當我嘗試導入模板,看起來像:Backbone.js的/ underscore.js錯誤:有沒有方法「HTML」
<script type="text/template" id="overview_template">
<div>
Sample text
</div>
</script>
錯誤讀取:
Uncaught TypeError: Object #<HTMLDivElement> has no method 'html' navigation.js:356
Backbone.View.extend.render navigation.js:356
Backbone.View.extend.initialize navigation.js:351
g.View backbone-min.js:33 d backbone-min.js:38
(anonymous function) navigation.js:379
f.Callbacks.n jquery-1.7.1.min.js:2
f.Callbacks.o.fireWith jquery-1.7.1.min.js:2
e.extend.ready jquery-1.7.1.min.js:2 c.addEventListener.B
觸發錯誤的代碼是this.el.html(template);
在以下:
var OverviewView = Backbone.View.extend({
el: $('#overview_container'),
initialize: function() {
this.render();
},
render: function() {
var template = _.template($("#overview_template").html(), {});
this.el.html(template);
},
defaults: {
tip_of_the_day: 'open',
news: 'open',
recent_presentations: 'open'
},
events: {
"click .overview_subsection_header": "toggleSubsection"
},
toggleSubsection: function (event) {
$(this).parent().find('.overview_subsection_content').toggle();
}
});
var overview_view = new OverviewView();
我不確定是什麼導致了這一點,但它一直讓我瘋狂。