将Handlebars.js与Backbone.Marionette一起使用

Joh*_*auß 16 backbone.js handlebars.js marionette

是否可以将Handlebars.js与Backbone.Marionette扩展一起使用而无需重新实现Views渲染功能?似乎Marionette依赖于你使用带有下划线模板引擎的Backbone.js的约定.但我真的很喜欢车把方法,所以我问我是否可以使用车把的木偶高级工具.

bre*_*dev 24

使用带有Marionette的Handlebars的简单方法就是template在每个View中定义为预编译的Handlebars模板函数.例如:

var MyView = Backbone.Marionette.ItemView.extend({
    template: Handlebars.compile("Hello, {{name}}"),
    model: new Backbone.Model({name: "Steve"})
});
Run Code Online (Sandbox Code Playgroud)

Marionette的默认设置Renderer将检测到该template属性是一个函数,并将相应地调用它.

另请参阅有关此案例的官方文档:https://github.com/marionettejs/backbone.marionette/wiki/Using-handlebars-templates-with-marionette

和另一个带有requirejs + Marionette + Handlebars的Q/A预编译:使用Marionette的预编译车把模板


and*_*.in 6

@brettjonesdev是正确的,但我发现其中另外一个很好用的是:

var MyView = Backbone.Marionette.ItemView.extend({
  template: Handlebars.compile($("#assign-products-main-view").html()),
  model: new Backbone.Model({name: "Steve"})
});
Run Code Online (Sandbox Code Playgroud)

这有助于搜索DOM.