AngularJS控制器不是一个函数,得到undefined

时间:2016-07-09 22:10:41

标签: javascript angularjs node.js controller angular-controller

我最近遇到一个奇怪的问题,我的Angular控制器未定义。它似乎没有看到控制器,即使另一个控制器正常工作(使用相同的代码)。

这是我的app.js

var myApp = angular.module('myApp', ['ngRoute']);

myApp.config(function($routeProvider){
    $routeProvider
    .when('/',{
        controller: 'DashboardController',
        templateUrl: 'views/dashboard.html'
    })
    .when('/users',{
        controller: 'UsersController',
        templateUrl: 'views/users.html'
    })
    .otherwise({
        redirectTo: '/'
    });
});

我的WORKING控制器是我的仪表板控制器

var myApp = angular.module("myApp");

myApp.controller('DashboardController', ['$scope', '$http', '$location', function($scope, $http, $location){
    console.log("dashboard init");
}]);

并且无效的控制器是我的用户控制器

var myApp = angular.module('myApp');

myApp.controller('UsersController', ['$scope', '$http', '$location', function($scope, $http, $location){
    console.log("users init");
}]);

这是我得到的错误: angular.js:12450错误:[ng:areq]参数'UsersController'不是函数,未定义

我甚至将仪表板完全复制到用户,只是将控制器名称更改为“UsersController”,但仍然没有运气。

1 个答案:

答案 0 :(得分:-1)

如果所有文件都在index.html或启动页面上被引用和加载,那么您应该没有任何问题