我的angular app第一项服务中有两项服务用于测试Demo API,其次是Live API。我想在条件的基础上注入这些服务,我该如何在条件的基础上注入这些服务。
先谢谢..
答案 0 :(得分:3)
如果你想在项目中只使用一个DI,尝试使用一些包装服务,比如
app.factory('wrapperService', function($injector) {
if (isProduction) {
return $injector.get('liveService');
} else {
return $injector.get('demoService');
}
});
答案 1 :(得分:2)
您可以使用$ injector服务来实现此目的,因此如果您在控制器中,您可以注入$ injector,如下所示:
class Category {
//.....
public void setCode(String code) {
this.code = code;
this.rule.setCode(code);
}
//....
)
答案 2 :(得分:2)
您可以在此处找到$ Injector doc:https://docs.angularjs.org/api/auto/service/ $ injector
angular.module('myApp')
.controller('myCtrl', function($injector){
var myService;
if(...){
myService = $injector.get('myService');
}
}