テンプレートにテンプレートを含めることはできますか? ERBが部分的に処理する方法と似たようなものでしょうか?Ecoテンプレートを使用したBackbone.js:テンプレートにテンプレートを含めるにはどうすればいいですか?
ERBのようにネストされたモデルをレンダリングしようとするのではなく、Backbone.jsがこれを処理するようにしてください。
template: JST["backbone/templates/projects/project"]
$(@el).html(@template(@model.toJSON()))
for s in @model.sessions.models
v = new Worktimer.Views.ProjectSessions.ShowView(model: s)
$(@el).find('.sessions').append(v.render().el)
Projects.ProjectView
:
Projects.IndexView
template: JST["backbone/templates/projects/index"]
addAll:() ->
@options.projects.each(@addOne)
addOne: (project) ->
view = new Worktimer.Views.Projects.ProjectView({model : project})
@$("#projects-table").append(view.render().el)
render: ->
$(@el).html(@template(projects: @options.projects.toJSON()))
@addAll()
モデルプロジェクトのネストされたコレクションと呼ばれたセッション:
注、私はCoffeeScriptの構文を使用していますProjectSessions.ShowView
そうtemplate: JST["backbone/templates/project_sessions/show"]
render: ->
$(this.el).html(@template(@model.toJSON()))
、最後に私たちは、このようなテンプレートを入れ子にしている:
- 事例インデックス
- プロジェクト
- セッション
- セッション
- セッション
- セッション を
- プロジェクト
- セッション
- プロジェクト
- セッション
- セッション
- プロジェクト
あなたがfile.jst.eco.erbを行うことをお勧めので、これは、エコ内でしょうか? – miketucker
追加する拡張子が増えるほど、使用されるプロセッサーが増えます。 –
また、ECOとERBはどちらも '<%= %>'を使用しているため、ECBがそれに到達する前にERBがすべての補間を邪魔してしまいます。 :) – micapam