Angularjs 如何在js中基于条件注入服务?

Angularjs 如何在js中基于条件注入服务?,angularjs,Angularjs,在我的angular应用程序中有两个服务,第一个用于测试演示API,第二个用于实时API。我想按条件注入这些服务,如何按条件注入这些服务 提前感谢。您可以使用$injector服务来实现这一点,因此,如果您在控制器中,您可以将$injector注入,例如: var myService; if(condition) { myService = $injector.get('demoService'); } else { myService = $injector.get('liv

在我的angular应用程序中有两个服务,第一个用于测试演示API,第二个用于实时API。我想按条件注入这些服务,如何按条件注入这些服务


提前感谢。

您可以使用$injector服务来实现这一点,因此,如果您在控制器中,您可以将$injector注入,例如:

var myService;

if(condition) {
    myService = $injector.get('demoService');
} else {
    myService = $injector.get('liveService');
}

您可以在此处找到$Injector文档:$Injector


若您只想在项目中使用一个DI,那个么尝试使用一些包装器服务,比如

app.factory('wrapperService', function($injector) {
  if (isProduction) {
    return $injector.get('liveService');
  } else {
    return $injector.get('demoService');
  }
});
app.factory('wrapperService', function($injector) {
  if (isProduction) {
    return $injector.get('liveService');
  } else {
    return $injector.get('demoService');
  }
});