2013-05-29 8 views
13

Im próbuje dostać mój zagnieżdżonych trasy działa, ale to daje mi ciężko przez dwa dni teraz :(Trzy poziom zagnieżdżone drogi kątowej-UI-routera

jeden poziom działa dobrze

dwóch poziomach działa dobrze

trzy poziomy nie działa!

Czy ktoś może mi pomóc?

góry dziękuję

angular.module('settings', []).config(['$stateProvider', '$routeProvider', '$urlRouterProvider', function($stateProvider, $routeProvider, $urlRouterProvider) { 
    $stateProvider 
     .state('settings', { 
      url: '/settings', 
      template:"Settings", 
      controller: function(){ 
       console.log('settings'); 
      } 
     }). 
     state('settings.branch', { 
      url: '/{branchId:[0-9]{1,8}}', 
      template:"Branch", 
      controller: function(){ 
       console.log('branch'); 
      } 
     }). 
     state('settings.branch.prop', { 
      url: '/prop', 
      template:"Property", 
      controller: function(){ 
       console.log('property'); 
      } 
     }); 
}]); 

'/ Ustawienia' pracuje

'/ ustawienia/1234' pracuje

'/ ustawienia/1234/prop' nie działa, zawsze zwróci prevues państwowego 'oddział'

+0

czy masz jsfiddle/plunker? – Ven

+0

+1 na potrzeby skrzypiec/plunkera. Gdzie jest zależność uirouter? var myapp = angular.module ('myapp', ["ui.router"]) ????? – scalaGirl

Odpowiedz

12

Zgadnij, że nie zadeklarowałeś widoku interfejsu użytkownika w szablonie oddziału

1

Miałem ten sam problem. Dla settings.branch.prop, spróbuj ustawić url do:

url: '/{branchId:[0-9]{1,8}}/prop' 
0

mamy podobny problem. Właśnie znalazłem rozwiązanie (niezbyt ładna myśl)

Więc mamy

/b2c/applicationShow --> applicationShowController (b2c.applicationShow) with an /:id 

/b2c/applicationShow/9238490392084/details --> detailsController (b2c.applicationShow.details) 

/b2c/applicationShow/9238490392084/details/someApp --> someAppController (b2c.applicationShow.details.someApp) 

/b2c/applicationShow/9238490392084/details/someApp/someTab --> this has no controller, only declare the previous one as parent. 

Tak jak zrobiliśmy do przodu od/b2c/wnioskiJak do /B2C/wnioskiJak/9238490392084/dane/someApp/someTab (tam to tabela z listą wszystkich aplikacji i kliknięciem linku, aby wyświetlić całą tę kartę).

$state.go(b2c.applicationShow , {id: 9238490392084}) 

Następnie w detailsController

$state.go(b2c.applicationShow.details.someApp); 

Następnie w someAppController

$stage.go(b2c.applicationShow.details.someApp, {tab: someTab}); 

Zasadniczo maszyna stanu weźmie ostatnią drogę, dołącz następnie kontynuować. Cóż, tak jak powiedziałem, to nie było ładne, ale wykonałem zadanie. Mam nadzieję, że to pomoże.

0

Spróbuj zawijania div z atrybutem ui-view wokół zawartości poglądów branży jak tak,

<div ui-view> 
    branch content goes here ..... 
    ...... 

</div> 

wystarczyły dla mnie!

Powiązane problemy