Javascript 解析父级后重定向到子级
我有一个父路由,它在resolve函数中加载对象列表。用户选择此列表中的项目后,将加载子路由。子路由将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
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上的一个或多或少的函数不会有什么坏处。谢谢很高兴看到这一点;)先生,祝您愉快!