我使用a-Tag中的给定参数定义了动态状态。
模板:
<a ui-sref-active="active" ui-sref=".item({ itemId: item.Id })">
州定义:
.state('home.item', {
url: '/{itemId}',
component: 'item',
resolve: {
item: function(items, $stateParams) {
return items.find(function(item) {
return item.Id === $stateParams.itemId;
});
}
}
})
在模板中有一个ng-repeat,它生成一个导航结构。我只想激活第一个链接:
$urlRouterProvider.otherwise(/welcome/{item.Id})
元素的ID正在改变,所以我不能硬编码,我需要获得第一个链接的动态值。因为我没有在加载时点击任何东西,所以状态不知道第一个元素的ID参数,因此没有选择正确的状态。
有人可以帮忙吗?
答案 0 :(得分:1)
我想你可以试试这个:
$urlRouterProvider.otherwise('/welcome/')
我认为它应该是home
状态,home.item
在home
州的控制器中,您可以查看:
var resolvedId; // set that dynamic id in home controller
if(!$stateParams.id) {
$state.go('home.item', {id: resolvedId});
}
这是我的JSFiddle demo