角度动态注入模块依赖性

时间:2015-09-18 09:59:35

标签: angularjs

我为Umbraco开发了一个使用角度的评论插件。因此,该站点的主要角度应用程序必须注入注释系统模块才能工作。

E.g。

var theirSite = angular.module('someApp', []);

注射

var theirSite = angular.module('someApp', ['theCommentSystemModule'];

在我的评论系统中,

   angular.module('theCommentSystemModule']....;

我的模块是否有任何方法可以自动检测角度应用程序并自行注入而无需更新站点的代码?我希望它只使用脚本链接。

例如:说这些是脚本

<script src="...angular.js">
<script src="...services.js">
<script src="...directives.js">
<script src="...commentsPlugin.js">
<script src="...theirApp.Js">

所以我基本上需要的是在应用程序被引导时从角度进行某种回调,因此我可以将注释系统模块作为依赖模块注入应用程序,以便它将在其引导层中初始化。 p>

或者,也许,或者,我自己在插件中自己引导页面?可以同时运行两个应用,例如如果我引导他们的应用程序也引导,

1 个答案:

答案 0 :(得分:7)

可以使用未记录的requires模块属性来完成。这种方式new dependencies can be added在模块定义之后但在引导之前。{/ p>

因为&#39; ng&#39;是唯一已知和定义的模块ATM(它也已经定义了requires数组),篡改它:

angular.module('ng').requires.push('theCommentSystemModule');

虽然让用户自己加载模块更合适。