当我把服务放在另一个文件上时,Angular会抛出一个错误
Angular throws an error when I have my service at a different file
我有如下服务:
var app = angular.module('app');
app.service('messagingService', function($http){
this.getMessages = function(offset, limit, successCallback, errorCallback){
// some stuff goes here
};
});
我包括这个文件,然后我包括我的控制器文件。
我的控制器像这样启动
function Inbox($scope, $http, messagingService) {
}
但是当我加载我的页面时,我得到以下错误:
错误:[$injector:unp]http://errors.angularjs.org/undefined/$injector/unp?p0=消息服务提供商%20%3C-%20消息服务出现错误()在https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0/angular.min.js:6:453在https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0/angular.min.js:32:320在Object.c〔as get〕(https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0/angular.min.js:29:461)在https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0/angular.min.js:32:388在c(https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0/angular.min.js:29:461)在d(https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0/angular.min.js:30:130)在Object.Xb.实例化(https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0/angular.min.js:31:284)$get(https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0/angular.min.js:61:304)在https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0/angular.min.js:48:476
当我在和控制器相同的文件中使用我的服务代码时,它工作得很好。我在这里错过了什么?感谢
您需要将控制器连接到模块。
var app = angular.module('app');
app.service('messagingService', function($http){
this.getMessages = function(offset, limit, successCallback, errorCallback){
// some stuff goes here
};
});
app.controller('Inbox',['$scope', '$http', 'messagingService',function($scope, $http, messagingService){}])
好的方法是将服务作为依赖项注入,例如:
var app = angular.module('ur_app_name')
app.service('messagingService', function($http){
this.getMessages = function(offset, limit, successCallback, errorCallback){
//some stuff goes here
};
app.controller('GreetingController', ['$scope','messagingService' function($scope,messagingService) {
//something here
})
尝试以下操作:
var app = angular.module('app', ['app.services']);
在您的app.js 中
然后在您的服务中。js
var services = angular.module('app.services');
services('messagingService', function($http){....
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- 是什么让一个“;Uncaught RangeError:超过了最大调用堆栈大小“;错误(Chrome,在其他浏览器中显示
- 从我的控制器返回一个不同于200的代码以触发ajax错误,这被认为是一种好的做法吗
- 预期响应包含一个对象,但在angular js中得到一个数组错误
- 错误:$injector:modulerr模块错误(我的第一个SPA应用程序)
- 一个ajax循环有两个输出错误innerHTML
- 在量角器中创建一个.txt错误输出文件是手动的,而不是控制台错误
- 我怎么能把一个错误当作未捕获的错误来记录呢
- 我需要一个jQuery函数来只工作在700px以上的屏幕大小,无法在我的代码中发现错误
- 在这个使用hasOwnProperty的对象扩展程序中有一个错误,I'我不确定那个bug是什么,也不确定这个扩展
- 从另一个JSAppleScript运行另一个JS AppleScript时出现权限错误
- 当张贴到数据库时,I'我得到了一个“;可以't在它们被发送错误之后设置报头”;
- javascript window.location在检查firebug时给了我一个错误的url路径
- 调试器;[错误]194:11:标识符是一个保留字
- new SharedWorker(“whatever.js”)返回一个错误
- 页面上的2个表单带有JS验证-其中一个抛出电子邮件验证错误
- JQuery关注上一个点击的输入错误
- 在一个函数中,我有一个未捕获的语法错误:意外的标记else
- 未捕获的引用错误——一个函数工作而另一个不起作用
- 图表API错误——[一个或多个参与者未能绘制()]