我在 Angular 中有一个路由架构的胆量,它将动态下载和注入 Angular 控制器和服务......控制器部分工作正常,我正在尝试通过 $route 的 .resolve 属性下载依赖服务。
现在,假设我在页面启动时在范围内声明了一个工厂,它会很好地注册并且使用它的控制器可以很好地解析,例如:
myModule.factory('MyInjectedDep', function() {
return {};
});
....
MyController = function(MyInjectedDep)
但是,如果我尝试在“运行时”注册该依赖项(因为需要更好的短语),我会收到一个循环依赖项错误。例如:
$route.routes[routeItem.route] = {
resolve: {
MyInjectedDep: ['$injector', function($injector) {
// In real code I download/eval this via $http but same behavior occurs
myModule.factory('MyInjectedDep', function() {
return {};
});
}]
}
}
因此,当我的 Controller 启动时:
MyController = function(MyInjectedDep)
我收到循环依赖错误,但错误消息中没有依赖跟踪?
Error: Circular dependency:
任何想法表示赞赏