如何在backbone.marionette中使用EJS模板?

lan*_*nan 4 templates ejs backbone.js marionette

到目前为止,我一直在我的Rails/Backbone.js应用程序中使用EJS模板.我真的想开始使用backbone.marionette.我该怎么做才能使它与EJS一起使用?

MyView = Backbone.Marionette.ItemView.extend({
  template: "#some-template"
});
Run Code Online (Sandbox Code Playgroud)

它在文档中说我需要为template属性提供jQuery选择器,但我不认为我的EJS模板有一个.

更新:

这就是我如何使用模板正常渲染我的视图:

TasksTree.Views.TaskItem = Backbone.View.extend({
...
  render: function() {
    ...
    this.$el.html(JST['tasks_tree/item'](options));
    return this;
  }

})
Run Code Online (Sandbox Code Playgroud)

我有模板文件夹,item.jst.ejs文件看起来像这样:

<li>
  <label><%= taskTitle %></label>
</li>
Run Code Online (Sandbox Code Playgroud)

我的模板文件夹包含在中 application.js

Der*_*ley 10

文档中有一节显示了替换渲染机制的几个示例:

http://derickbailey.github.com/backbone.marionette/#backbone-marionette-renderer/custom-template-selection-and-rendering

看到JST为您提供模板,并且您不需要以任何其他方式缓存它们,但是,您可以跳过Marionette Renderer对象内置的大部分功能并render完全替换该功能.


Backbone.Marionette.Renderer.render = function(template, data){
  return JST[template](data);
}
Run Code Online (Sandbox Code Playgroud)

您还可以使用template模板路径而不是jquery选择器替换视图上teh 属性的使用:


Backbone.Marionette.ItemView.extend({
  template: "tasks_tree/item"
});
Run Code Online (Sandbox Code Playgroud)

希望有所帮助.如果没有,请告诉我.