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

时间:2015-11-26 10:38:12

标签: javascript angularjs ionic-framework

这是一个非常常见的问题,显然在宣布多个控制器时,但是我试图在这个论坛上或者其他地方修复了这个论坛,似乎没有用(可能遗漏了一些东西)。

我有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){

和ProfileManagementController:

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

}]);

同样使用离子框架的标签项目模板,我默认获得了文件controller.js,其中我评论了所有控制器,但是留下了第一行:

angular.module('starter.controllers', []);

//.controller('ProfileController', function($scope) {})
//
//.controller('OrdersController', function($scope) {
//  
//})
//
//.controller('MoreOptionsController', function($scope, $stateParams) {
//  
//})
//
//.controller('ConnectionsController', function($scope) {
//  
//});

我在这里做错了导致错误信息? (视图实际上与路径tabs.home相关联,但是控制台显示错误。

谢谢,

1 个答案:

答案 0 :(得分:1)

您可能忘记添加脚本标记以在html中定义控制器。

例如:

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