0

У меня возникли проблемы с маршрутизацией с родительской навигацией.AngularJS ui-router от ребенка к родительскому виду

Моя конфигурация маршрутизации выглядит следующим образом:

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" 
    }); 

}]); 

, где я хочу, чтобы перейти к 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

ответ

1

Ваш ответ лежит в ui-router doc. Он говорит:

  • $ state.go ('contact.detail') - пойдет в состояние contact.detail

  • $ state.go ('^') - будет идти к родителю состояние

  • $ state.go ('^ родственный') - будет идти на родственный состояние

  • $ state.go ('child.grandchild.') - пойдет на внуку государству

Следовательно, используйте знак «^», чтобы перейти к состоянию родителя текущего состояния.

+0

Hi manashi, На самом деле я уже пытался сделать это согласно документу. Но это не работает. –

+0

@ Erandika Sandaruwan вы можете вставить код контроллера, который пытается изменить состояние на родителя? –