在用户操作上呈现视图(单击)

时间:2011-09-12 03:51:58

标签: backbone.js

当我调用fetch()时,我会在@ client端收到多个模型。首先,我能够在模板中显示第一个模型。现在我想要的是,On Button Click事件,我需要显示第二个模型&所以在同一个模板中。

我已经尝试在这里解释我的问题Backbone.js [ Rendering a view on a click. / user action ] ..但我想这是错误的解释。

1 个答案:

答案 0 :(得分:0)

我是这样做的。假设模型是一个集合。这是在CoffeeScript中,但您应该明白这一点:

class Diary.Views.Entries extends Backbone.View
  tagName: 'div'
  template: JST["backbone/templates/entry_index"]

  events:
    "click": "render_next"

  initialize: ->
    @model.bind("reset", @render)

  render: =>
    $(@el).html(@template(@model.toJSON()))
    @show_index = -1
    @render_next()
    this

  render_next: =>
    @show_index++
    return if @model.length <= @show_index
    @render_item @model.at(@show_index)

  render_item: (item) =>
    new_view = new Diary.Views.Entry(model: item)
    $(@el).find("#list").append(new_view.render().el)