2016-07-17 10 views
3

Ich möchte meinen Status auf "Anmelden" bei einem Klick ändern. Also, ich habe eine Schaltfläche hinzugefügt und in ng-click, rief ich die Funktion registerForm (die Sie in der folgenden Code sehen können). aber wenn ich den Knopf drücke, erhalte ich den folgenden Fehler in der Browserkonsole.AngularJS - TypeError: Kann die Eigenschaft 'go' von undefined nicht lesen

TypeError: Cannot read property 'go' of undefined
at m.$scope.registerForm (controllers.js:27)
at fn (eval at compile (angular.js:14605), :4:227)
at b (angular.js:15694)
at e (angular.js:25622)
at m.$eval (angular.js:17444)
at m.$apply (angular.js:17544)
at HTMLFormElement. (angular.js:25627)
at Sf (angular.js:3488)
at HTMLFormElement.d (angular.js:3476)

app.controller('registerController', ['$scope',function ($scope,$state) { 
    $scope.mismatch=true; 

    $scope.$watch('retypepassword', function() 
    { 
     if($scope.retypepassword != null) 
     { 
      if($scope.password === $scope.retypepassword) 
      { 
       $scope.mismatch=true; 
       $scope.loginForm.$setValidity("valid", true); 
      } 
      else 
      { 
       $scope.mismatch=false; 
       $scope.loginForm.$setValidity("valid", false); 
      } 
     } 
    }, true); 

    $scope.registerForm=function() 
    { 
     $state.go('login', {}); 
    } 
}]); 
+0

Mögliche Duplikat [Typeerror: kann Eigenschaft 'go' undefinierter lesen] (http://stackoverflow.com/questions/35748030/typeerror- kann nicht lesen-Eigenschaft-gehen-von-undefiniert) und eine Vielzahl von gleichen Fragen gefunden durch die Suche nach SO. – Rob

Antwort

5

Inject $ Zustand richtig

app.controller('registerController', ['$scope', '$state', function ($scope,$state) { 
+0

Vielen Dank :) es hat funktioniert :) –

2

scheint wie $ Zustand zu injizieren verpasst, zu aktualisieren, wie dieses Problem zu beheben helfen würde, folgt.

 app.controller('registerController', ['$scope','$state',function ($scope,$state) 
0

Sie benötigen $ Zustand zu injizieren zu

app.controller('registerController', ['$scope','$state',function ($scope,$state) {