define([
'jquery',
'underscore',
'backbone',
'text!modules/index/templates/container.html'
], function($, _, Backbone, container_temp){
var indexView = Backbone.View.extend({
el: $('.main_container'),
initialize:function(){
_.bindAll(this, 'render');
},
render:function(){
var $this = this;
var $el = this.el;
$.get('/js/index/render', {}, function(data){
var dat = JSON.parse(data);
$this.pars = dat;
var tpl = _.template(container_temp, dat);
$el.html(tpl);
});
}
});
return new indexView;
});
このコードを実行すると、$elがHTMLで埋められることになっています。しかし、私のブラウザはで混乱し$el.html(tpl);
ます。
Uncaught TypeError: Object #<HTMLDivElement> has no method 'html'
これを修正するには$($el).html(tpl);
、jqueryが登録されるようにする必要があります。
これは厄介なようです。私の過去のプロジェクトでは、私は常に以前の方法でそれを行い、それは常に機能してきました。