Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 解析父级后重定向到子级_Javascript_Angularjs_Angular Ui Router - Fatal编程技术网

Javascript 解析父级后重定向到子级

Javascript 解析父级后重定向到子级,javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,我有一个父路由,它在resolve函数中加载对象列表。用户选择此列表中的项目后,将加载子路由。子路由将itemId附加到url现在我希望父级自动“重定向”到列表的第一项,从而更改为子路由。 在承诺得到解决后,我尝试在resolve函数中调用$state.go,但这开始了一个无休止的重定向循环 这是我目前的设置 $stateProvider.state("parent", { url: "/parent/:parentId/children", templateUr

我有一个父路由,它在resolve函数中加载对象列表。用户选择此列表中的项目后,将加载子路由。子路由将
itemId
附加到url现在我希望父级自动“重定向”到列表的第一项,从而更改为子路由。

在承诺得到解决后,我尝试在resolve函数中调用
$state.go
,但这开始了一个无休止的重定向循环

这是我目前的设置

    $stateProvider.state("parent", {
      url: "/parent/:parentId/children",
      templateUrl: "parentTempl.html",
      controller: "ParentController",
      controllerAs: "vm",
      resolve: {          
        ParentLoadingService: function ($stateParams, ResourceService) {
          return ResourceService.request.getChildren({ parentId: $stateParams.parentId }).$promise;
        }
      }
    }).state("parent.child", {
      url: "/:childId",
      templateUrl: "child.html",
      controller: "ChildController",
      controllerAs: "vm",
      resolve: {
        ChildLoadingService: function ($stateParams, ParentLoadingService) {
          ...
        }
      }
    });

谢谢

这个解决方案对你不管用吗?这个可能管用,我来看看。但我希望我能在路线规范中解决这个问题。向控制器添加逻辑,$rootScope或run()似乎不是真正需要的。本机解决方案在这里描述,但因为在0.2.14之前存在问题,我们必须找到解决方案,更棒的是我在上面发送的链接。对于0.2.15,它应该是固定的,因此.when()也可以工作。我使用了您的第一个解决方案,效果非常好。我想$rootScope上的一个或多或少的函数不会有什么坏处。谢谢很高兴看到这一点;)先生,祝您愉快!