我正在构建一个角度应用程序,对于部分应用程序,我希望有一个菜单,其中包含根据可用状态动态填充的选项。这是我的状态配置的简化部分:
$stateProvider.state('root.type.list.controls', {
url: '/controls',
templateUrl: 'views/controls.html',
controller: 'ControlsCtrl',
data: {
title: 'Controls'
}
})
.state('root.type.list.items', {
url: '/items',
templateUrl: 'views/items.html',
controller: 'ItemsCtrl',
data: {
title: 'Items'
}
})
我希望能够根据配置的'root.type.list'
部分中的内容,使用data
状态的每个直接子项的标题填充下拉菜单。有没有办法获得特定州的所有子州名单?
答案 0 :(得分:2)
使用$state.get()
结束并执行以下操作:
function _children(stateName) {
return _.filter($state.get(), function(config) {
return stateName === config.name.slice(0, stateName.length) &&
config.name.split('.').length === stateName.split('.').length + 1;
});
}