是否有可能使用与该Handlebars.js Backbone.Marionette扩展,而不重新实现视图渲染功能? 看来,木偶是依靠您使用Backbone.js的下划线模板引擎的惯例。 但我真的很喜欢在车把的做法,所以我问,如果我能提线木偶与车把高级工具。
Answer 1:
使用手把与木偶一个简单的方法是简单地定义template
中的每个View作为预编译把手模板函数。 例如:
var MyView = Backbone.Marionette.ItemView.extend({
template: Handlebars.compile("Hello, {{name}}"),
model: new Backbone.Model({name: "Steve"})
});
木偶的默认Renderer
将检测到的template
属性是一个函数,并相应地调用它。
又见这个案子的官方文档: https://github.com/marionettejs/backbone.marionette/wiki/Using-handlebars-templates-with-marionette
并用requirejs一个其他Q / A + +木偶车把预编译: 使用与预编译木偶车把模板
Answer 2:
@brettjonesdev是正确的,但在这里,另一个另外,我发现效果很好是:
var MyView = Backbone.Marionette.ItemView.extend({
template: Handlebars.compile($("#assign-products-main-view").html()),
model: new Backbone.Model({name: "Steve"})
});
这有助于搜索DOM时。
Answer 3:
我们也可以利用预编译模板这里。
var MyView = Backbone.Marionette.ItemView.extend({
template: Handlebars.templates['filename'],
model: new Backbone.Model({name: "Steve"})
});
这样,我们才能把木偶编译作用。
Answer 4:
目前两个答案不利用缓存。 使用此要点来代替。
文章来源: Use Handlebars.js with Backbone.Marionette