小编cba*_*n.a的帖子

Backbone js重新渲染使视图无事件

所有,

我正在使用Backbone JS建立一个应用程序,根据我的方法,如果第一个模型查找太旧,我会向服务器发出一个更新我的本地存储的请求.

所以我要处理的是这个.

(hashchange) -> 
  fetch model -> 
    (if model expired [eg: grabbed from LS], fetch again in background)
    render
Run Code Online (Sandbox Code Playgroud)

在视图中,我将一个更改事件绑定到指向渲染的模型,以便当第二个请求返回时,页面只是重新渲染.

对于你们男士们和女士们,我问为什么第一页加载所有事件都有效(点击等)但是如果视图重新渲染,他们就不再了?

有些代码可以帮助您查看视图,有一个带嵌套请求的嵌套视图:

class ShowView extends Backbone.View
  template: +some template+
  initialize: ->
    this.render()
    @model.bind('change', this.render)

  render: ->
    $(@el).html(this.template(@model.toJSON())
    items = new ItemCollection
    @model.set(items: items, {silent: true})
    @$items = new ItemsView(collection: items, el: @$('#posts'))
    items.fetch()
    +displayPage @el+
    @

 class ItemsView extends Backbone.View
   template: +some template+
   initialize: ->
     @collection.bind('reset', this.render)

   render: =>
     @collection.each( (model) -> new ItemView(model: model))
     @
Run Code Online (Sandbox Code Playgroud)

......我发誓...

 class …
Run Code Online (Sandbox Code Playgroud)

backbone.js

5
推荐指数
1
解决办法
1750
查看次数

标签 统计

backbone.js ×1