刷新页面以查看内容

时间:2014-11-02 20:42:51

标签: javascript backbone.js coffeescript

我使用Backbone创建了一个Rails应用程序,但我遇到了一个小但烦人的问题。当用户访问他的个人资料然后返回首页时,首页是空的,我必须刷新它才能显示骨干视图的内容。

Movieseat.Routers.Movieseats我有:

routes:
  '': 'index'

initialize: ->
  @movieSeats = new Movieseat.Collections.Movieseats()
  @movieSeats.fetch()

  @searchResults = new Movieseat.Collections.Moviesearch()

index: ->
  view = new Movieseat.Views.MovieseatsIndex(collection: @movieSeats)
  $('#container').html(view.render().el)

为什么用户必须刷新以查看首页?

1 个答案:

答案 0 :(得分:0)

我不了解CoffeeScript,但fetch()方法会成功回调,您可以确保已加载该集合。在索引中,您创建了一个传递@movieSeats集合的新视图,但该集合可能已经加载。请尝试以下方法:

{
  routes: {
    '': 'index'
  },

  initialize: function() {
    this.movieSeats = new Movieseat.Collections.Movieseats();
  },

  index: function() {
    var self = this, view;

    this.movieSeats.fetch({
      success: function(collection) {
        view = new Movieseat.Views.MovieseatsIndex({ collection: collection })
        $('#container').html(view.render().el)
      }
    });
  }
}

但是,你可能想要" bootstrap"您收集的内容会显示在Backbone文档:http://documentcloud.github.io/backbone/#FAQ-bootstrap