我有这个奇怪的问题,当我浏览页面时没有显示视图。但是,如果我刷新页面,它会显示。骨干视图不会在第一页加载时显示
在我的路由器,我试图呈现2次,像这样:
tags: function(tags) {
self = this;
self.multipleTags = tags.split('/');
self.tagsArray = $.grep(self.multipleTags, function(item,index) {
return (item != '');
});
var browseHeader = new BrowseHeader;
var content = new tagsView({query:self.tagsArray});
},
我无法用我的BrowseHeader虽然但代码视图正常工作。 我曾尝试删除我的tagsView以查看它们是否有冲突。但是,即使使用单个视图渲染,在刷新页面之前,页眉仍然不会显示。
以下是我在BrowseHeader观点正在做:
var browseHeader = Backbone.View.extend({
initialize: function() {
this.render();
},
template: function() {
dust.render('dust/browseHeader','', function(error, output) {
$('#wrapper').append(output);
});
},
render: function() {
this.template();
},
el: '#wrapper',
events: {
'click .academy_filter' : "click_filter"
},
click_filter: function(event) {
target = event.target;
$('.academy_filter').removeClass('active');
$(target).addClass('active');
EventBus.trigger('header:click_filter', target);
}
});
当我CONSOLE.LOG输出,它显示输出的HTML,尽管它没有被显示在页面上。所以我知道我的灰尘模板正在工作。当我将我的BrowseHeader渲染函数简化为$('#wrapper')。append(“this”);我仍然遇到同样的问题。
任何想法?
更新:显然它与浏览器和pushState有关,因为当我将路由器更改为以下版本时,它工作正常。
Backbone.history.start({pushState的:真});
是'#wrapper指定'当你期望它是DOM时? –
这是在Dom。 –
你确定吗?这具有计时问题的所有特征。 –