angularjs-刷新子状态视图会导致来自父状态的数据丢失

angularjs-刷新子状态视图会导致来自父状态的数据丢失,angularjs,angular-ui-router,Angularjs,Angular Ui Router,我有以下ui路由器状态 .state('admin.userView', { abstract:true, url:'/user/:id/', templateUrl:'./views/user/view.html', controller:'userViewController' }) .state('admin.userView.home', { url:'', templateUrl:'./views/user/home.html', controller:'

我有以下ui路由器状态

.state('admin.userView', {
  abstract:true,
  url:'/user/:id/',
  templateUrl:'./views/user/view.html',
  controller:'userViewController'
})

.state('admin.userView.home', {
  url:'',
  templateUrl:'./views/user/home.html',
  controller:'userHomeController'
})
我已使用userViewController中的http资源将用户详细信息获取到$scope.users。 当我移动到admin.userView.home状态时,我可以访问$scope.users。 但当我使用子状态刷新页面时,$scope.users中的值丢失。
如何获得相同的结果。

尝试将该数据移动到
admin.userView
状态声明的resolve属性中。因为您在这里使用的是嵌套解析,所以可以将解析后的数据注入到
admin.userView.home
状态声明中。这里是ui路由器文档的摘录

$stateProvider.state('parent', {
      resolve:{
         resA:  function(){
            return {'value': 'A'};
         }
      },
      controller: function($scope, resA){
          $scope.resA = resA.value;
      }
   })
   .state('parent.child', {
      resolve:{
         resB: function(resA){
            return {'value': resA.value + 'B'};
         }
      },
      controller: function($scope, resA, resB){
          $scope.resA2 = resA.value;
          $scope.resB = resB.value;
      }