Магистральный маршрут в/

У меня есть базовый маршрутизатор:

class X.Routers.Main extends Backbone.Router

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

Страницы B и C работают, но переход на http://domain.ext/ приводит к перезагрузке страницы, а не к запуску правильного маршрута.

Как я могу предотвратить это?

Ответ 1

Вы можете установить "*path": "home" в качестве последнего маршрута, который сделает его маршрутом по умолчанию, или установите "" (вместо "/") в качестве вашего первого маршрута (что означает корневой каталог)

Ответ 2

  • ваш базовый URL-адрес НЕ "/", НО "" (пустая строка)
  • Обычно я добавляю опцию "/" в конце каждой конфигурации маршрута, на всякий случай
  • Я также обычно добавляю обработчик действий по умолчанию в конце конфигурации

Итак, моя конфигурация маршрутов будет выглядеть так:

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
}

Надеемся на эту помощь