如何使用后备路由来捕获backbone.js中的未知页面

问题描述 投票:0回答:2

我设置了一组如下所示的路线:

routes: {
  '!/home': 'home',
  '!/home/:page': 'home'
}

我想知道的是,如何配置路由,以便如果用户请求未知页面,我可以轻松重定向到静态 404.html 页面?

backbone.js
2个回答
10
投票

在您的路由器中(例如前两条路由):

routes: {
  "path/": "objectList",
  "path/:id": "objectItem",
  ":whatever": "notFound"
}

最后一条是最通用的路线,将拾取更具体路线无法识别的所有内容。


0
投票

我知道 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 })
  },

}));
© www.soinside.com 2019 - 2024. All rights reserved.