Angularjs 角度错误是不可理解的

Angularjs 角度错误是不可理解的,angularjs,Angularjs,我无法理解角JS的错误。我正在尝试构建一个工厂,但它在firefox控制台中不断给我以下错误 错误:[ng:areq] 我的代码是 索引 controller.js var artistControllers = angular.module('artistControllers', ['ngAnimate']); artistControllers.controller('ListController', ['$scope', '$http', function($scope, $http)

我无法理解角JS的错误。我正在尝试构建一个工厂,但它在firefox控制台中不断给我以下错误

错误:[ng:areq]

我的代码是

索引

controller.js

var artistControllers = angular.module('artistControllers', ['ngAnimate']);
artistControllers.controller('ListController', ['$scope', '$http', function($scope, $http) {
  $http.get('js/data.json').success(function(data) {
    $scope.artists = data;
    $scope.artistOrder = 'name';
  });

// Starting Factory for Doctor and hospital relationship
artistControllers.factory( 'StaffFactory','$http',function(){
    var factory = {};
    $http.get('js/hospital.json').success(function(data) {
    factory.hospitals = data;
    //$scope.hospitalOrder = 'name';
    });

    $http.get('js/docters.json').success(function(data) {
    factory.doctors = data;
    //$scope.hospitalOrder = 'name';
    });

    factory.getDocs = function(){
      return factory.doctors;
      };

      factory.getHos= function(){
      return factory.hospitals;
      };
    factory.getStaff = function(){
       var result=[];
       var endres=[];
        angular.forEach(factory.hospitals, function(hospital){
          result=[];
          angular.forEach(factory.doctors,function(doc){
              if(doc.id==hospital.id)
              {
                result.push(doc);  
              }
            });
      endres.push([hospital,result]);          
      });
    return endres;
      }

    return factory;
    });     
artistControllers.SimpleController=function($scope,StaffFactory){

  $scope.customers=[];
  $scope.hospitals=[ ]; 
  $scope.doctors=[]; 
  $scope.staff=[]; 
  init();
  function init()
  {
    $scope.doctors=StaffFactory.getDocs();
    $scope.hospitals=StaffFactory.getHos();
  } 

  $scope.ShowStaff = function()
  {
    $scope.staff=StaffFactory.getStaff();
  }
  };


// Ending Factory for Doctor and hospital relationship
}]);

如果您按照错误中的链接进行操作,您将看到

参数“hospitalController”不是函数,未定义

听起来您的html中有以下内容:

ng-controller="hospitalController"

但是您尚未创建具有该名称的控制器。

如果您按照错误中的链接进行操作,您将看到

参数“hospitalController”不是函数,未定义

听起来您的html中有以下内容:

ng-controller="hospitalController"

但是您还没有创建具有该名称的控制器。

除了@dave解释的实际错误之外,如果您希望eror消息更加明确,而不必遵循链接,那么您应该使用angular.js而不是angular.min.js(最小值)对于您的开发环境。

除了@dave解释的实际错误之外,如果您希望eror消息更加明确,而不必遵循链接,您应该在您的开发环境中使用angular.js,而不是angular.min.js(最小化的一个)。

我还认为,在您的路线中,控制器尚未在视图中注册。感谢您的回复。它不是从html实际上是从我的app.js,我已经定义了我的路线。我还认为,有可能在你的路线,控制器还没有注册的看法。谢谢你的答复。它不是来自html,而是来自我的app.js,我在那里定义了我的路线。是的,我添加了angular.js,现在错误是可以理解的。是的,我添加了angular.js,现在错误是可以理解的。
var artistControllers = angular.module('artistControllers', ['ngAnimate']);
artistControllers.controller('ListController', ['$scope', '$http', function($scope, $http) {
  $http.get('js/data.json').success(function(data) {
    $scope.artists = data;
    $scope.artistOrder = 'name';
  });

// Starting Factory for Doctor and hospital relationship
artistControllers.factory( 'StaffFactory','$http',function(){
    var factory = {};
    $http.get('js/hospital.json').success(function(data) {
    factory.hospitals = data;
    //$scope.hospitalOrder = 'name';
    });

    $http.get('js/docters.json').success(function(data) {
    factory.doctors = data;
    //$scope.hospitalOrder = 'name';
    });

    factory.getDocs = function(){
      return factory.doctors;
      };

      factory.getHos= function(){
      return factory.hospitals;
      };
    factory.getStaff = function(){
       var result=[];
       var endres=[];
        angular.forEach(factory.hospitals, function(hospital){
          result=[];
          angular.forEach(factory.doctors,function(doc){
              if(doc.id==hospital.id)
              {
                result.push(doc);  
              }
            });
      endres.push([hospital,result]);          
      });
    return endres;
      }

    return factory;
    });     
artistControllers.SimpleController=function($scope,StaffFactory){

  $scope.customers=[];
  $scope.hospitals=[ ]; 
  $scope.doctors=[]; 
  $scope.staff=[]; 
  init();
  function init()
  {
    $scope.doctors=StaffFactory.getDocs();
    $scope.hospitals=StaffFactory.getHos();
  } 

  $scope.ShowStaff = function()
  {
    $scope.staff=StaffFactory.getStaff();
  }
  };


// Ending Factory for Doctor and hospital relationship
}]);
ng-controller="hospitalController"