Angularjs 嵌套状态下角度ui路由缺少参数
我使用的是ui路由器,我有两种状态 母国:Angularjs 嵌套状态下角度ui路由缺少参数,angularjs,nested,angular-ui-router,Angularjs,Nested,Angular Ui Router,我使用的是ui路由器,我有两种状态 母国: .state('list', { url: '/list', templateUrl: 'list.html', controller: 'ListCtrl', resolve: { getItem : function($http, $stateParams){ return $http.get('api/rs/getItem.j
.state('list', {
url: '/list',
templateUrl: 'list.html',
controller: 'ListCtrl',
resolve: {
getItem : function($http, $stateParams){
return $http.get('api/rs/getItem.json', {params: {id: $stateParams.itemId}})
.then (function (data) {
return data;
});
}
}
})
儿童国家:
.state('list.item', {
url: '/:itemId',
})
如果我调用函数:
$state.go('list.item', {itemId: myItemId});
父状态的resolve函数被调用(因为继承)。问题是,父状态“list”在url中缺少“itemId”参数,因此该参数永远不会被捕获。类似地,如果我将resolve函数移动到子状态“list.item”,控制器会捕获一些错误,它试图注入“getItem”,但失败了。谁能告诉我正确的方法是什么?我看了文件,但我想不出来。谢谢您在url中定义了itemId,并从$state.go传递了listId,以便替换
$state.go('list.item', {listId: myListId});
与
$state.go('list.item', {itemId: myListId});