Не удается загрузить вложенную страницу состояния UI-маршрутизатора - PullRequest
0 голосов
/ 04 декабря 2018

Я пытаюсь сделать main.marketing-groups.detail вложенным состоянием main.marketing-groups, однако, когда я звоню $state.go('main.marketing-groups.detail');, все, что я получаю, это изменение URL-адреса на ... / marketing-groups / detail, но HTML сохраняетсяот родителя.Поместите некоторый файл debug console.log в marketingGroupsDetailController, но похоже, что он не загружен.Оба контроллера существуют в index.html и правильно загружены.

    .state('main.marketing-groups', {
        url: '/marketing-groups',
        views: {
            'content': {
                templateUrl: 'app/modules/marketing/groups/marketing-groups.tpl.html',
                controller: 'marketingGroupsController as vm'
            },
            'right-drawer@main': {}
        }
    })

    .state('main.marketing-groups.detail', {
        url: '/detail',
        views: {
            'content': {
                templateUrl: 'app/modules/marketing/groups/detail/marketing-groups-detail.tpl.html',
                controller: 'marketingGroupsDetailController as vm'
            },
            'right-drawer@main': {}
        }
    })

Что может быть не так с этим, так как я меняю код по крупицам, но ничего не работает.Я пытаюсь избежать использования пользовательского интерфейса на этот раз.

Также нет ошибок console.log.

1 Ответ

0 голосов
/ 04 декабря 2018

Я заставил это работать с этим подходом.Если у вас есть что-то лучше, пожалуйста, дайте мне знать.

        .state('main.marketing', {
        url: '/marketing',
        views: {
            'content': {
                templateUrl: 'app/modules/marketing/marketing.tpl.html',
                controller: 'marketingController as vm'
            },
            'right-drawer@main': {}
        }
    })

    .state('main.marketing.groups', {
        url: '/groups',
        views: {
            'marketing@main.marketing': {
                templateUrl: 'app/modules/marketing/groups/marketing-groups.tpl.html',
                controller: 'marketingGroupsController as vm'
            },
            'right-drawer@main': {}
        }
    })

    .state('main.marketing.groups.detail', {
        url: '/detail',
        views: {
            'marketing@main.marketing': {
                templateUrl: 'app/modules/marketing/groups/detail/marketing-groups-detail.tpl.html',
                controller: 'marketingGroupsDetailController as vm'
            },
            'right-drawer@main': {}
        }
    })

marketing.tpl.html

<div ui-view="marketing"></div>
...