2016-08-11 4 views
1

Ich habe ein kleines Beispiel basierend auf dem Artikel eingerichtet auf UI-Routing eingerichtet.State.go für AngularJs UI Routing

Ich habe das Beispiel geändert, um zu testen, ob explizit von einem untergeordneten geschachtelten Zustand in den geschwisterlichen Status unter Verwendung von $state.go() navigiert wird. irgendwelche Ideen, was ich falsch mache?

Ich erhalte den Fehler unten: Error resolving State. Could not resolve .paragraph from state home.list

 $stateProvider 
 
      
 
      // HOME STATES AND NESTED VIEWS ======================================== 
 
      .state('home', { 
 
       url: '/home', 
 
       templateUrl: 'partial-home.html' 
 
      }) 
 
      
 
      // nested list with custom controller 
 
      .state('home.list', { 
 
       url: '/list', 
 
       templateUrl: 'partial-home-list.html', 
 
       controller: function($scope,$state) { 
 
        $scope.dogs = ['Bernese', 'Husky', 'Goldendoodle']; 
 
        $scope.navigateToNextState = function() { 
 
          $state.go('.paragraph'); 
 
         }; 
 
       } 
 
      }) 
 
      
 
      // nested list with just some random string data 
 
      .state('home.paragraph', { 
 
       url: '/paragraph', 
 
       template: 'I could sure use a drink right now.' 
 
      })

http://plnkr.co/edit/Nae6xz9qcBp3IRYi0wcD?p=preview

Antwort

0

Regler sollte so eingestellt werden:

controller: function($scope, $state) { 
    $scope.dogs = ['Bernese', 'Husky', 'Goldendoodle']; 
    $scope.navigateToNextState = function() { 
     $state.go('^.paragraph'); 
    }; 
} 

Wir benötigen einen $state als einer der Funktionsparameter. Und wir sind in einem Kind, also müssen wir '^.paragraph'(statt '.paragraph') verwenden für ein weiteres Kind unserer Eltern zu fragen

Karo working fixed version here