2

Angular 中的所有 DI 文档似乎都基于这样的想法:当代码在生产中时,您希望服务的系统实现,当您运行自动化测试时,您希望在几个模拟实现中进行选择。

不,我有几个依赖项的工作实现,我想选择一个(通常基于 URL)。我怎么做?

4

1 回答 1

3
  1. 将您的依赖项放入单独的模块中。例如 serviceA.impl1 和 serviceA.impl2
  2. 创建应用程序级模块,但基于 URL 添加依赖项
angular.module('impl1', [])....
angular.module('impl2', [])....

var deps = [];
如果(位置。匹配(...){
  deps.push('impl1')
} 别的 {
  deps.push('impl2')
}

angular.module('myApp', deps);

然后在你的 index.html 中做

  <html ng-app="myApp">
于 2012-05-03T22:50:41.667 回答