4

これまで、Rails/Backbone.js アプリケーションで EJS テンプレートを使用してきました。本当にbackbone.marionetteを使い始めたいです。EJS で動作させるにはどうすればよいですか?

MyView = Backbone.Marionette.ItemView.extend({
  template: "#some-template"
});

ドキュメントには、属性にjQueryセレクターを提供する必要があると書かれてtemplateいますが、私のEJSテンプレートにはjQueryセレクターがあるとは思いません。

アップデート:

これは、テンプレートを使用してビューを正常にレンダリングする方法です。

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

})

item.jst.ejsそして、次のようなファイルを含むテンプレートフォルダーがあります。

<li>
  <label><%= taskTitle %></label>
</li>

私のテンプレートフォルダーは次の場所に含まれていますapplication.js

4

2 に答える 2

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);
}

templateビューでの属性の使用を、jquery セレクターの代わりにテンプレート パスに置き換えることもできます。


Backbone.Marionette.ItemView.extend({
  template: "tasks_tree/item"
});

それが役立つことを願っています。そうでない場合は、お知らせください。

于 2012-04-16T20:38:23.500 に答える