我有一个视图,这是一个2视图的孩子。 我希望有不同的网址来恢复它。 (例如:#/ activities / contact / 12,#/ search / contact / 12等)
我没有找到办法在没有重复状态定义的情况下这样做。
$stateProvider
.state('main', {
abstract: true,
url: '/',
controller: function() {
},
templateUrl: 'main.abstract.html'
})
.state('activities', {
parent: 'main',
url: 'activities',
template: function() {
return 'ACTIVITY TEMPLATE <br><br><a ui-sref="activities()">activity</a> <br/><a ui-sref="search()">search</a><br><br><a ui-sref="organization()">orga</a>';
},
})
.state('search', {
parent: 'main',
url: 'search',
template: function() {
return 'SEARCH TEMPLATE <br><br><a ui-sref="activities()">activity</a> <br/><a ui-sref="search()">search</a><br><br><a ui-sref="organization()">orga</a>';
},
})
.state('organization', {
parent: 'main',
url: '/contacts/:id',
views: {
"right@main": {
template: function() {
return 'orga loaded';
}
},
}
})
Plunkr在这里: http://plnkr.co/edit/hDZ1FQASKt8zctjNCOuF?p=preview
当用户点击“orga链接”时,它应该加载红色的视图,但保持当前的父视图为绿色。