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