参数 'publishMessageFormTagController' 不是函数,未定义

Argument 'publishMessageFormTagController' is not a function, got undefined

app.js

  .state('publishmsg/new-message', {
      url: '/publishmsg/new-message',
      templateUrl: 'templates/publish-msg/publishmsg-form.html',
      controller: 'publishMessageController'
  })  

  .state('add-tags', {
      url: '/add-tags',
      templateUrl: 'templates/publish-msg/publishmsg-form-tags.html',
      controller: 'publishMessageFormTagController'
  })    

publishMessageController.js

angular.module("mobApp.controllers",['ionic','ngTagsInput','angular-carousel'])
.controller("publishMessageController",function($scope, $http, $location, $ionicLoading, $cordovaToast, deviceStatus){

  $scope.gotoAddTag = function()
  {
    $location.path('add-tags');
  }

publishMessageFormTagController.js

angular.module("mobApp.controllers",['ionic'])
.controller("publishMessageFormTagController",function($scope, $http, $location, $ionicLoading, $cordovaToast, deviceStatus){

index.html

<script src="js/controllers/publishMessageFormTagController.js"></script>
<script src="js/controllers/publishMessageController.js"></script>

现在里面 publishmsg-form.html

<div class="item formTagList" ng-click='gotoAddTag()' id="publishMsgFormTags">

当我调用 gotoAddTag() 时它抛出

Error: [ng:areq] Argument 'publishMessageFormTagController' is not a function, got undefined

你重新初始化模块见下例,

publishMessageController.js

angular.module("mobApp.controllers",['ionic','ngTagsInput','angular-carousel'])

publishMessageFormTagController.js

angular.module("mobApp.controllers",['ionic'])

此处第二个模块声明将覆盖第一个

所以你需要像

这样的东西
angular.module("mobApp.controllers").controller("publishMessageFormTagController",function($s....

请注意,此处不存在传递给 angular.module() 的第二个数组参数,因此 angular 将获取您定义的前一个模块并将控制器 publishMessageFormTagController 附加到该模块。如果存在参数数组,那么 angular 将覆盖第一个模块并将 publishMessageFormTagController 分配给模块,但由于它覆盖了第一个 angular 无法找到控制器 publishMessageController.