无法加载 ui-路由器嵌套状态页面

Cannot load ui-router nested state page

我正在尝试使 main.marketing-groups.detail 成为 main.marketing-groups 的嵌套状态,但是当我调用 $state.go('main.marketing-groups.detail'); 时,我得到的只是 url 更改为 . ../marketing-groups/detail 但 HTML 从父项中保留下来。将一些调试 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': {}
        }
    })

它可能有什么问题,因为我正在一点一点地更改代码,但没有任何效果。这次我尽量避免使用 ui-view。

也没有 console.log 个错误。

我已经用这种方法让它工作了。如果你有更好的,请告诉我。

        .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>