无法加载 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>
我正在尝试使 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>