我正在尝试在angularjs中开发模块化服务,这些服务可以在其他项目中使用,只需包含在根目录中(如angularjs,jquery ......)。例如,我有匿名函数,如:
(function(ng, app) {
'use strict';
app.value('SomeValue', function(param1, param2) {
//code here
}
})(angular, app);
我需要检查这个值(服务)是否已在angularjs app中定义,如果是,则抛出错误。我在网上搜索了几个小时,也在Angularjs文档中搜索,在$ provide部分中它只是说如何注册。我试过这个,
$provide('SomeValue')
或
var checkForValue = function($provide){ //to inject the provide service
//and here is undefined
}
或
app.value('SomeValue'); //to see if this return something
没有运气。
答案 0 :(得分:5)
将$injector
注入您的服务并致电:
$injector.has('SomeValue')