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

angularjs - refreshing child state view cause lose of data from the parent state

我有以下 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 状态声明的解析 属性 中。由于您在此处使用嵌套解析,因此您可以将已解析的数据注入 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;
      }

Source