AngularJS错误:ng:areq Bad Argument

时间:2016-05-02 20:51:18

标签: angularjs module

我有以下三个angularjs脚本:

/config.js
/authentication/LoginCtrl.js
/authentication/loginFactoyr.js

App ristoreApp在config.js中定义。

// config.js

angular.module('ristoreApp', ['ngRoute'])

.config(function ($routeProvider, $locationProvider, $httpProvider) {
//  $httpProvider.responseInterceptors.push('httpInterceptor');

    $routeProvider
        .when('/login', { 
            templateUrl: 'authentication/login.html', 
            controller: 'LoginCtrl' 
        })
        .when('/home', { 
            templateUrl: 'home.html', 
        })
        .otherwise({ 
            redirectTo: '/login' 
        });

    $locationProvider.html5Mode(true);
});

我的控制器通过“angular.module”调用应用程序:

angular.module('ristoreApp', [])
.controller('LoginCtrl', ['$scope', '$location', 'loginFactory', function($scope, $location, loginFactory){
    $scope.authenticate = function() {
        loginFactory.login($scope.username, $scope.password)
        .then(function(response) {
            console.log(response);
            $location.path('/home');
        }, function errorCallBack(response) {
            console.log(response);
            $location.path('login');
        });
    }
}]);

收到错误“错误:ng:areq Bad Argument”

Argument 'LoginCtrl' is not a function, got undefined

为什么说我的控制器不是一个功能?我做错了什么?

1 个答案:

答案 0 :(得分:1)

试试这个。删除LoginCtrl上的引号。

controller: LoginCtrl

然后,将控制器定义为:

var LoginCtrl = app.controller("LoginCtrl", ["$scope", function($scope) { /* etc... */}]);