Javascript AngularJS拥有自己的工厂和资源
我已经创建了自己的LoggerService,但如果我使用它,会出现错误:Javascript AngularJS拥有自己的工厂和资源,javascript,angularjs,Javascript,Angularjs,我已经创建了自己的LoggerService,但如果我使用它,会出现错误: FOrder.query is not a function 如果我删除了控制器中的所有LoggerService调用,那么一切正常,为什么我不能使用LoggerService? services.js angular.module('GSAdmin.services', ['ngResource']) .factory('FOrder', ['$resource', function($resource) {
FOrder.query is not a function
如果我删除了控制器中的所有LoggerService调用,那么一切正常,为什么我不能使用LoggerService?
services.js
angular.module('GSAdmin.services', ['ngResource'])
.factory('FOrder', ['$resource', function($resource) {
return $resource('/api/order/:orderId');
}])
.service('LoggerService', [function(){
var _logList = [];
this.getLast = function(){
return _logList[_logList.length-1];
};
this.getLog = function(){
return _logList;
};
this.log = function(text) {
_logList.push(text);
};
}])
controller.js
.controller('OrderController', ['$scope', 'FOrder', 'LoggerService',
function($scope, FOrder, LoggerService) {
FOrder.query(function(data){
$scope.orders = data;
});
$scope.log = LoggerService.getLog();
LoggerService.log('Begin editing order #' + field.id);
}]);
.controller('OrderController',['$scope','FOrder','LoggerService',函数($scope,FOrder,LoggerService){
查询(函数(数据){
$scope.orders=数据;
});
$scope.log=LoggerService.getLog();
LoggerService.log('开始编辑顺序#'+字段.id);
}问题出在'FOrder'、'LoggerService',我不知道为什么重要,但当我切换到'LoggerService'、'FOrder'时,一切都很好。看起来你的服务定义末尾有一个额外的结束大括号。这是错误的帖子剪切。我解决了问题。不,请不要看大括号。我剪切了一些不需要的代码and在大括号中出错。如果我真的错过了大括号,控制台日志将对此进行记录。请查看此处,否则就不会再有错误,您可以将所有代码添加到此bin中,以帮助我们找出错误所在
.controller('OrderController', ['$scope', 'FOrder', 'LoggerService', function($scope, FOrder, LoggerService) {
FOrder.query(function(data){
$scope.orders = data;
});
$scope.log = LoggerService.getLog();
LoggerService.log('Begin editing order #' + field.id);
} <-- **you missed that bracket**
]);