Javascript 基于refesh的主干视图渲染
我对主干路线和视图有问题。当我点击链接时,视图被正确呈现,url也是正确的,但问题是每当我刷新页面时,url仍然是相同的,但视图返回到索引视图,在索引视图中,它应该呈现该路由下的视图,这导致事件未被正确处理 这是路由器:Javascript 基于refesh的主干视图渲染,javascript,jquery,backbone.js,backbone-views,backbone-routing,Javascript,Jquery,Backbone.js,Backbone Views,Backbone Routing,我对主干路线和视图有问题。当我点击链接时,视图被正确呈现,url也是正确的,但问题是每当我刷新页面时,url仍然是相同的,但视图返回到索引视图,在索引视图中,它应该呈现该路由下的视图,这导致事件未被正确处理 这是路由器: var MainRouter = Backbone.Router.extend({ initialize: function() { // homeView.render(); }, routes: { '': 'index
var MainRouter = Backbone.Router.extend({
initialize: function() {
// homeView.render();
},
routes: {
'': 'index',
'register': 'register'
}
});
var mainRouter = new MainRouter();
router.on('route:index', function() {
if (htmlObj.hasClass('connected')) {
if (htmlObj.hasClass('present')) {
profileView.render();
}
homeView.render();
}
});
router.on('route:register', function() {
signUpView.render();
});
主干、历史、起点
然后在视图事件中,我将触发器设置为true
Backbone.history.navigate'/signup',{trigger:true}
因此,它将运行该特定路由的功能。
我也尝试过使用pushState和root,但在刷新时也有同样的问题,但这次它说找不到页面
谢谢请尝试以下代码:
var MainRouter = Backbone.Router.extend({
routes: {
"": "index",
"register": "register",
},
index: function () {
if (htmlObj.hasClass('connected')) {
if (htmlObj.hasClass('present')) {
profileView.render();
}
homeView.render();
}
},
register: function() {
signUpView.render();
}
});
$(document).ready(function () {
var r = new MainRouter();
Backbone.history.start();
r.navigate(window.location.hash.replace('#',''),{trigger: true});
})
我已经尝试过实现这个,但它并不能解决问题try add call。在正常情况下,它将发射指定路线两次。尝试放置一些断点来调试代码。检查启动时触发的函数。可能存在要呈现的html标记。