【问题标题】:AngularJS - TypeError: Cannot read property 'go' of undefinedAngularJS - TypeError:无法读取未定义的属性“go”
【发布时间】:2016-11-20 01:14:35
【问题描述】:

我想在单击按钮时将状态更改为“登录”。所以,我添加了一个按钮并在ng-click 中调用了函数registerForm(您可以在下面的代码中看到)。但是当我按下按钮时,我在浏览器控制台中收到以下错误。

TypeError:无法读取未定义的属性“go”
在 m.$scope.registerForm (controllers.js:27)
在 fn(编译时评估(angular.js:14605),:4:227)
在 b (angular.js:15694)
在 e (angular.js:25622)
在 m.$eval (angular.js:17444)
在 m.$apply (angular.js:17544)
在 HTMLFormElement。 (angular.js:25627)
在旧金山 (angular.js:3488)
在 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', {});   
    }
}]);

【问题讨论】:

标签: javascript angularjs types


【解决方案1】:

正确注入 $state

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

【讨论】:

    【解决方案2】:

    似乎错过了注入 $state,如下更新将有助于解决此问题。

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

    【讨论】:

      【解决方案3】:

      你也需要注入 $state

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

      【讨论】:

        猜你喜欢
        • 2016-06-15
        • 2015-08-26
        • 2016-09-12
        • 1970-01-01
        • 1970-01-01
        • 2016-09-05
        • 2014-12-24
        • 2015-03-28
        • 2019-04-22
        相关资源
        最近更新 更多