我几乎没有在抽象状态中定义的常见视图(如面包屑,通知,侧边栏等)以及很少有其他继承它们的子状态。我想在子状态内修改父视图中的视图(即:在侧边栏视图中添加新的菜单项)。我想我可以使用view-name@parent-state
来引用该视图,但不确定如何使其工作。如果不可能,我是否试图滥用UI-Router中的继承行为?在Angular / UI-Router中实现此类功能的正确方法是什么?即使不使用UI-Router,我也可以这样做吗?
这就是我想要做的事情:
$stateProvider
.state('posts', {
url: '/posts',
abstract: true,
views: {
"main": { template:'<div ui-view="main-content"></div>'},
"breadcrumbs": { templateUrl: 'breadcrumb.html' },
"navigation": { templateUrl: 'navigation.html' },
"notifications": { templateUrl: 'notifs.html' }
}
})
.state('posts.index', {
url: '',
views: {
"navigation@posts": { templateUrl: 'breadcrumb_mod.html' },
"main-content": { templateUrl: 'partial-config.html' }
}
});