骨干路线到/

时间:2012-03-22 10:18:09

标签: backbone.js routes coffeescript url-routing

我有一个Backbone路由器:

class X.Routers.Main extends Backbone.Router

  routes:
    '/': 'home'
    'pageb': 'actionb'
    'pagec': 'actionc'

页面B和C有效,但导航到http://domain.ext/会导致页面重新加载而不是触发正确的路径。

我该如何防止这种情况?

2 个答案:

答案 0 :(得分:17)

您可以将"*path": "home"设置为使其成为默认路线的最后一条路线,或将""(而非"/")设置为您的第一条路线(即根目录)< / p>

答案 1 :(得分:4)

  1. 您的基本网址路径不是“/”,但是“”(空字符串)
  2. 我通常在每个路由配置的末尾添加可选的“/”,以防万一
  3. 我通常也会在配置结束时添加默认操作处理程序
  4. 所以我的路线配置如下:

    routes = {
        '': 'home',
        'pageb(/)': 'actionB', // so /pageb or /pageb/ will call the same function
        'pagec(/)': 'actionC', // so /pagec or /pagec/ will call the same function
        '*action': 'defaultAction' // you can use it to render 404, or call home function
    }
    

    希望这个帮助