Backbone.js с экологическими шаблонами: Как включить шаблон в шаблоне?

Можно ли включить шаблон в шаблоне? Может быть, что-то похожее на то, как ERB обрабатывает частичные вещи?

, а не пытаясь рендерировать вложенные модели в моде, как ERB, лучше позволить Backbone.js позаботиться об этом.

Примечание, я использую синтаксис CoffeeScript:

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()

Модель проекта имеет вложенную коллекцию под названием Sessions:

Projects.projectView

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)

Projectsessionssions.showview

template: JST["backbone/templates/project_sessions/show"]

render: ->
    $(this.el).html(@template(@model.toJSON() ))

Итак, в конце Мы вложили такие шаблоны, как это:

  • индекс проектов
    • Проект
      • сессия
      • сессия
      • сессия
      • сессия
    • проект
      • Сессия
    • Проект
      • сессия
      • сессия
5
задан miketucker 13 September 2011 в 16:03
поделиться