AngularJS-错误控制器不是函数,未定义

AngularJS - Error controller is not a function, got undefined

本文关键字:函数 未定义 错误 错误控制 控制器 AngularJS-      更新时间:2023-09-26

在声明多个控制器时,这显然是一个非常常见的问题,但我在这个论坛或其他地方尝试的每一个修复程序似乎都不起作用(可能缺少了一些东西)。

我有app.js文件、3个独立的控制器文件和一个服务文件。

我用了一个控制器,一切都很好。现在我正试图重定向到ProfileManagement控制器处理的另一个视图,但它显示了错误:

错误:[ng:areq]参数"ProfileManagementController"不是函数,得到未定义的

这是我在每个控制器文件的开头以及app.js…

app.js:

var app = angular.module('starter', ['ionic', 'starter.controllers', 'starter.services']);
app.run(function($ionicPlatform) {...

在app.js中,我在错误显示之前使用了以下路径:

.state('tab.home', {
    url: '/home',
    views: {
      'tab-home': {
        templateUrl: 'templates/tab-home.html',
        controller: 'ProfileManagementController'
      }
    }
  })

我的控制器在这里。。。

UserAccessController:

app.controller('UserAccessController', ['$scope', '$http', '$state', '$q', '$rootScope', 'CreateUserService', 'UserObjectService', function($scope, $http, $state, $q, $rootScope, CreateUserService, UserObjectService){

和ProfileManager控制器:

app.controller('ProfileManagementController', ['$scope', '$http', function($scope, $http){
}]);

还有ionic framework的选项卡项目模板,我默认得到了controller.js文件,我在其中评论了所有控制器,但留下了第一行:

angular.module('starter.controllers', []);
//.controller('ProfileController', function($scope) {})
//
//.controller('OrdersController', function($scope) {
//  
//})
//
//.controller('MoreOptionsController', function($scope, $stateParams) {
//  
//})
//
//.controller('ConnectionsController', function($scope) {
//  
//});

我做错了什么导致了错误消息?(与路由选项卡实际关联的视图。home实际加载,但控制台显示错误。

谢谢,

您可能忘记添加script标记来在html中定义控制器。

例如:

<script src="yourController.js"></script>