Javascript 刷新页面以查看内容
我已经使用主干网创建了一个Rails应用程序,但遇到了一个小问题,但很烦人。当用户转到他的个人资料,然后返回frontpage时,frontpage是空的,我必须刷新它才能显示主干视图的内容 在我的Javascript 刷新页面以查看内容,javascript,backbone.js,coffeescript,Javascript,Backbone.js,Coffeescript,我已经使用主干网创建了一个Rails应用程序,但遇到了一个小问题,但很烦人。当用户转到他的个人资料,然后返回frontpage时,frontpage是空的,我必须刷新它才能显示主干视图的内容 在我的Movieseat.Routers.Movieseat中,我有: routes: '': 'index' initialize: -> @movieSeats = new Movieseat.Collections.Movieseats() @movieSeats.fetch()
Movieseat.Routers.Movieseat
中,我有:
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)
你知道为什么用户必须刷新才能看到frontpage吗?我不知道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)
}
});
}
}
但是,您可能希望“引导”您的收藏,如主干文档上所示:您的
索引
路由器被调用了吗?配置文件页面是通过主干处理的吗?不,配置文件页面只是一个Rails页面。不view=new Movieseat.Views.MovieseatsIndex(集合:@movieSeats)$('#container').html(view.render().el)
这将创建一个新的视图实例,并在加载索引页时将其呈现给容器?是否调用了索引?一切都设置好了吗?我试过你的方法,但当我重新访问主页时,它仍然没有显示视图。我将尝试使用bootstrap
方法。