AngularJS Error: ng:areq Bad Argument
我有以下三个angularjs脚本:
1 2 3 | /config.js /authentication/LoginCtrl.js /authentication/loginFactoyr.js |
App
//config.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | 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"调用应用程序:
1 2 3 4 5 6 7 8 9 10 11 12 13 | 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"
1 | Argument 'LoginCtrl' is not a function, got undefined |
为什么说我的控制器不是一个功能? 我做错了什么?
试试这个。 删除
1 | controller: LoginCtrl |
然后,将控制器定义为:
1 | var LoginCtrl = app.controller("LoginCtrl", ["$scope", function($scope) { /* etc... */}]); |