UI-маршрутизатор направляется в состояние по умолчанию, даже когда к нему обращались - PullRequest
0 голосов
/ 07 марта 2019

Используя ui-router Я установил для свойства abstract значение true для состояния portfolio.patent следующим образом:

.state('portfolio', {
    url: '/portfolio',
    templateUrl: 'app/templates/portfolio/portfolio.tpl.htm',
    controller: 'portfolioCtrl',
    controllerAs: '$ctrl',
})
.state('portfolio.patent', {
    templateUrl: 'app/templates/patent/patent.patent-item.tpl.htm',
    abstract: true,
    url: '/{patentId}',
    params: {
        patentId: null
    }            
})
.state('portfolio.patent.patent-info', {
    templateUrl: 'app/templates/patent/patent.patent-info.tpl.htm',
    controller: 'patentInfoCtrl',
    controllerAs: '$ctrl'      
})

До того как я сменил состояние на abstract: true, все работало нормально. Когда я пытаюсь получить доступ к состоянию portfolio.patent.patent-info, он перенаправляет меня на панель инструментов. Теперь я настроил $urlRouterProvider, так что по умолчанию используется панель инструментов. Но это если не выбрано ни одно состояние, например:

$urlRouterProvider
    .when('', '/dashboard')
    .when('/', '/dashboard')
    .otherwise('/dashboard');

Если я закомментирую этот код, я смогу получить доступ к portfolio.patent.patent-info

Вопрос

Почему, когда я выбираю состояние portfolio.patent.patent-info, оно по умолчанию возвращается к dashboard, как будто ни одно состояние не было выбрано?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...