我有一个有效的应用程序虽然我正在改变架构,将视图切割成更小,更易于管理的文档。我现在有一个有孩子的州。
.state('patents', {
url: '/patents',
templateUrl: 'p3sweb/app/components/patents/views/list-patents.htm',
controller: 'listPatentsCtrl',
controllerAs: '$ctrl',
})
.state('patents.patent', {
url: '/{patentId}/:patentHref',
templateUrl: 'p3sweb/app/components/patents/views/patent-item.htm'
})
当我点击状态patents
中的表格行时,会在其下方弹出patents.patent
视图。
我现在已更改它,因此子patents.patent
状态有多个视图,如下所示:
.state('patents.patent', {
url: '/{patentId}/:patentHref',
templateUrl: 'p3sweb/app/components/patents/views/patent-item.htm',
views: {
'@': {
templateUrl: 'p3sweb/app/components/patents/views/patent-item.htm'
},
'patentinfo@patents.patent': {
templateUrl: 'p3sweb/app/components/patents/views/ui-views/patent-info.htm',
controller: 'patentInfoCtrl',
controllerAs: '$ctrl'
},
'patentcostanalysis@patents.patent': {
templateUrl: 'p3sweb/app/components/patents/views/ui-views/patent-costanalysis.htm',
controller: 'patentCostAnalysisCtrl',
controllerAs: '$ctrl'
},
'patentrenewals@patents.patent': {
templateUrl: 'p3sweb/app/components/patents/views/ui-views/patent-renewals.htm',
controller: 'patentRenewalsCtrl',
controllerAs: '$ctrl'
}
})
当我现在点击状态patents
中的行时,patents.patent
视图将替换父视图。因此,它不是显示在它下面,而是显示的唯一视图。
问题
如何解决现在发生的问题我已在patents.patent
状态中包含多个视图?
答案 0 :(得分:0)
事实证明,在阅读ui-router wiki之后,使用@创建了一个绝对路径,而我并未定位父状态patents
中的视图。
所以而不是
views: {
'@': {
templateUrl: 'p3sweb/app/components/patents/views/patent-item.htm'
}
应该是
views: {
'@patents': {
templateUrl: 'p3sweb/app/components/patents/views/patent-item.htm'
}