我遇到了子到父导航的路由问题。
我的路由配置如下:
templateApp.config(['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) {
//For Default Redirect
$urlRouterProvider.otherwise("/");
//For set up the states
$stateProvider
.state('list', {
url: "/",
cache:false,
templateUrl: "/Templates/TemplateList",
controller: "templateListController"
})
.state('template', {
url: "/template/:templateId",
cache: false,
templateUrl: "/Templates/MainTemplate",
controller: "mainTemplateController"
})
.state('template.detail', {
url: "/detail/:templateId",
cache: false,
templateUrl: "/Templates/TemplateDetails",
controller: "templateDetailController"
})
.state('template.section', {
url: "/section/:paperTemplateId",
cache: false,
templateUrl: "/Templates/TemplateSection",
controller: "templateSectionController"
})
.state('template.summary', {
url: "/summary/:templateId",
cache: false,
templateUrl: "/Templates/TemplateSummary",
controller: "templateSummaryController"
});
}]);
我想从'list state'导航到template
状态。我使用了以下代码,它运行得很好。
$state.go('template', { templateId: examTemplate.Id });
当我想导航到'template.detail'状态时,我使用了以下代码,它运行正常。
$state.go('template.detail', { templateId: $scope.templateId });
现在从孩子“template.detail”我想导航到“模板”状态。所以我使用了以下代码。
$state.go('template', { templateId: $scope.templateId });
但这种路由不起作用。当我将孩子传送给父母时,你能不能告诉我有关该代码的问题。
谢谢, Erandika
答案 0 :(得分:1)
你的答案在于ui-router doc。它说:
$ state.go(' contact.detail') - 将转到contact.detail状态
$ state.go(' ^') - 将进入父州
$ state.go(' ^ .sibling') - 将进入兄弟姐妹州
$ state.go(' .child.grandchild') - 将去孙子州
因此,使用" ^"签到当前状态的父状态。