因此,当有人使用我的路由中未找到的 URL 访问我的站点时,我尝试做的是触发并加载视图。我这样做是为了让访问者可以通过访问 domain.com/username 查看用户个人资料
由于用户名是动态的,我无法定义路由,我将如何完成我需要的触发?
因此,当有人使用我的路由中未找到的 URL 访问我的站点时,我尝试做的是触发并加载视图。我这样做是为了让访问者可以通过访问 domain.com/username 查看用户个人资料
由于用户名是动态的,我无法定义路由,我将如何完成我需要的触发?
您可以在路由器中处理它:
var myRouter = Backbone.Router.extend({
routes: {
'/:username': findUsername,
'*path': notFound
}
findUsername: function(usernme) {
//Find username
//Username param comes from URL
},
notFound: function() {
//Handle not found page
}
});
需要注意的是,当您的应用程序加载时,您需要使用{ pushState: true }
new myRouter();
Backbone.history.start({ pushState: true });
您不能使用 Backbone 执行此操作,因为它的路由器仅在 URL 片段(哈希)上路由,而不是 URL 本身。使用 HTML5 History API 也不起作用,因为这是直接导航到 URL。
您唯一的选择是在服务器上进行路由并提供包含所有 Backbone 客户端逻辑的页面。
你可能会胡闹,window.location.pathname
但这是次优的,可能会导致比平时更多的眼泪。