我之所以回答自己的问题,只是因为我找到了一种技术方法来解决最初发布的问题。但是在此之前,我强烈建议您使用Blackhole的建议,因为它可以解决通常由不良体系结构引起的更广泛的问题。请优先使用他的方法,如果您知道自己在做什么,请返回到当前方法。
因此,这里去:
您可以
$injector在运行时使用服务并注入所需的定义,从技术角度来看,这是合法的,但是根据这篇文章(很难想象它是在2008年编写的),这就像一个黑魔法,它会反击你:
Application.factory('Blog', ['$injector', function ($injector) { var Tag = $injector.get('Tag'); // Here is your tag ... }]);Application.factory('Tag', ['Blog', function (Blog) { ...}]);编辑
事实证明,当前方法是服务定位器模式的一个示例,即IoC反模式。



