Угловой ui-router: смешивать статические динамические маршруты

У меня есть одно исключение для динамического маршрута:

.state('item', {
 abstract: true
 })

// This is the 'hardcoded' static route
 .state('item.static', {
 url: '/static'
 })

 .state('item.content', {
 url: '/:para'

 })

Как вы видите, первое дочернее состояние имеет исправленный URL-адрес. Тогда, если URL-адрес не является именно этим фиксированным словом, я хочу, чтобы маршрутизация выполнялась с дочерним состоянием 2.

Он работает, когда я впервые попал в дочернее состояние 1. Однако, когда я обновляю браузер, просмотры больше не отображаются, а u-view остается пустым. Если я починю один из динамических маршрутов, он работает.

Я упустил представление и настройку контроллера намеренно, чтобы он выглядел проще.

1 ответ

Вы пробовали шаблон регулярного выражения, чтобы исключить "статический" маршрут для пара-маршрута? Теоретически, вы должны иметь возможность использовать исключающий "статический" маршрут, и ui-router забирает динамический маршрут в этот момент.

Документация Ui-Router

Из документации:

// will only match a contactId of one to eight number characters
url: "/contacts/{contactId:[0-9]{1,8}}"

licensed under cc by-sa 3.0 with attribution.