【发布时间】:2015-09-18 09:59:35
【问题描述】:
我为 Umbraco 开发了一个使用 angular 的评论插件。因此,该网站的主要 Angular 应用程序必须注入评论系统模块才能工作。
例如
var theirSite = angular.module('someApp', []);
注入
var theirSite = angular.module('someApp', ['theCommentSystemModule'];
在我的评论系统中,
angular.module('theCommentSystemModule']....;
我的模块有什么方法可以自动检测 Angular 应用程序并自行注入,而无需更新网站的代码?我希望它只使用脚本链接。
例如:说这些是脚本
<script src="...angular.js">
<script src="...services.js">
<script src="...directives.js">
<script src="...commentsPlugin.js">
<script src="...theirApp.Js">
所以我基本上需要的是,当应用程序被引导时,来自 Angular 的某种回调,所以我可以将评论系统模块作为依赖模块注入应用程序,以便它在引导层中初始化。
或者,或者,我自己在插件中为自己引导页面?是否可以同时运行两个应用程序,例如如果我引导和他们的应用程序也引导的。
【问题讨论】:
-
这也许适合你试试 ocLazyLoad oclazyload.readme.io/docs/dependency-injection
-
如果有可以使用的回调就好了,比如 angular.appInitializing(function(app) { app.modules('myCommentPlugin'); });
-
插件用户是否有理由不修改他们的应用程序以自行注入模块? ocLazyLoad 很好,但仅供应用所有者使用,而不是入侵他人的应用。
-
@estus,让插件用户添加它并不是世界末日。但它是一个 Umbraco 插件,它有一个 Umbraco 宏,它会自动将它包含在页面上,所以理想情况下,只要它们在页面上有角度,我希望它能够自动工作。甚至让它注入它自己的脚本标签或需要自己加载。
标签: angularjs