我设置了一组如下所示的路线:
routes: {
'!/home': 'home',
'!/home/:page': 'home'
}
我想知道的是,如何配置路由,以便如果用户请求未知页面,我可以轻松重定向到静态 404.html 页面?
在您的路由器中(例如前两条路由):
routes: {
"path/": "objectList",
"path/:id": "objectItem",
":whatever": "notFound"
}
最后一条是最通用的路线,将拾取更具体路线无法识别的所有内容。
我知道 Q 是实际的 BC,但我的项目中有 webix,他们建议使用 Backbone,所以它现在对我来说是实际的。部分工作代码:
var router = new (Backbone.Router.extend({
routes: {
"": "dashboard", // default router must be defined
"dashboard(/:tab)": "dashboard",
// ....
":foo(/:bar)(/:so)(/:far)": "fallback",
},
dashboard: (tab) => workspace('dashboard', {args: [tab]}), // replace it
fallback: () => router.go(router.routes['']),
go: function (route, args = []) {
this.navigate([route, ...args].join("/"), { trigger: true })
},
}));