我注意到每次使用 require 时都需要先定义所有模块。就我而言,我现在不需要这样做,我只需要加载主干模板。
是否可以加载没有模块定义的模板?
这可能看起来像这样:
View = Backbone.View.extend({
tagName: 'div',
className: 'entry',
initialize: function(model, response){
console.log("View Intialized: "+this.model.get('id') )
_.bindAll(this, "render")
this.model.bind('change', this.render)
this.template = _.template( require( ['text!templates/users/view.html'] ) ) //would look something like this?
},
render: function(){
var rendered = this.template( this.model.toJSON() )
$(this.el).html( rendered );
return this
}
})
在大多数情况下,我在一个文件中有多个视图,并且不确定模块定义将如何使用它。虽然,我会像上面一样简单的解决方案。
编辑:除了答案之外,这里还有一个更轻的解决方案http://coenraets.org/blog/2012/01/backbone-js-lessons-learned-and-improved-sample-app/最初加载所有模板这可能比根据需要加载更好。