在AngularJS中,如何在运行时更改依赖项?

在AngularJS中,如何在运行时更改依赖项?,angularjs,dependency-injection,Angularjs,Dependency Injection,假设我有以下控制器: var MyController = function(dataSource) { this.something = dataSource.getSomething(); } 但是我想根据我是在线还是离线(例如,LocalStorageDataSource和APIDataSource)注入不同的dataSource实现 Angular中有什么机制可以让我在脚本启动时以及在触发脱机/联机事件时都这样做 基本上,我正在尝试在Angular中实现运行时的多态依赖项注入。

假设我有以下控制器:

var MyController = function(dataSource) {
    this.something = dataSource.getSomething();
}
但是我想根据我是在线还是离线(例如,
LocalStorageDataSource
APIDataSource
)注入不同的
dataSource
实现

Angular中有什么机制可以让我在脚本启动时以及在触发脱机/联机事件时都这样做


基本上,我正在尝试在Angular中实现运行时的多态依赖项注入。

以下是TodoMVC Angular的一个示例:


太棒了,正是我想要的。谢谢