2013-05-29 3 views
13

Im Versuch, arbeiten meine verschachtelten Weg zu bekommen, aber es mir schwer, für zwei Tage ist gibt jetzt :(Drei Ebene verschachtelt Routen in Winkel-ui-Router

einer Ebene funktioniert

zwei Ebenen funktioniert

drei Ebenen funktioniert nicht!

kann mir bitte jemand helfen?

Vielen Dank im Voraus

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'); 
      } 
     }); 
}]); 

'/ Einstellungen' arbeitet

'/ Einstellungen/1234 arbeitet

'/ Einstellungen/1234/prop' nicht funktioniert, kehren immer die prevues Zustand 'Zweigniederlassung'

+0

Haben Sie ein Spiel? – Ven

+0

+1 auf die Notwendigkeit für Geige/Bunker. Wo ist die Uirouter-Abhängigkeit? var myapp = angular.module ('myapp', ["ui.router"]) ????? – scalaGirl

Antwort

12

Ich vermute, Sie haben nicht eine ui-View in der Branche Vorlage

1

deklariert Ich hatte das gleiche Problem. Für settings.branch.prop, versuchen url zu setzen:

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

bekamen wir ein ähnliches Problem. Nur eine Lösung gefunden (nicht sehr hübsch gedacht)

So haben wir

/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. 

So wie wir haben uns darauf, von/b2c/AnträgeWie zu /b2c/AnträgeWie/9238490392084/details/SomeApp/someTab (es ist eine Tabelle, die alle App auflisten, und klicken Sie auf einen Link angenommen, um Sie den ganzen Weg zu dieser bestimmten Registerkarte zu bringen)

Wir leiten sie eins nach dem anderen.

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

Dann in detailsController

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

Dann in der someAppController

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

Grundsätzlich ist die Zustandsmaschine den letzten Weg nehmen, fügen Sie dann weiter. Nun, wie ich schon sagte, es war nicht schön, aber die Arbeit erledigt. Ich hoffe es hilft.

0

Versuchen Sie, ein div mit dem Attribut ui-Ansicht um die Zweig Ansichten Inhalte wie so Umwickeln

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

</div> 

hat für mich den Trick!

Verwandte Themen