Javascript 如何在另一个模块中动态注入一个模块?
我的angular应用程序如下所示 App.js 在我的登录模块中,我有一个使用$http的ajax调用。收到服务器的正确响应后,我想初始化另一个模块,假设为“productModule” 怎么做?在角度上可能吗?您可以这样做:Javascript 如何在另一个模块中动态注入一个模块?,javascript,angularjs,Javascript,Angularjs,我的angular应用程序如下所示 App.js 在我的登录模块中,我有一个使用$http的ajax调用。收到服务器的正确响应后,我想初始化另一个模块,假设为“productModule” 怎么做?在角度上可能吗?您可以这样做: var myApp = angular.module('myapp', [ 'ngSanitize', 'ngMessages' ]); myApp.requires.push('productModule'); 现在,在稍后的AJAX调用代码中,您
var myApp = angular.module('myapp', [
'ngSanitize',
'ngMessages'
]);
myApp.requires.push('productModule');
现在,在稍后的AJAX调用代码中,您可以这样编写:
var myApp = angular.module('myapp', [
'ngSanitize',
'ngMessages'
]);
myApp.requires.push('productModule');
请看一下简短的回答-不,默认情况下不支持 回答很长-略微-使用第三方库,如: 但我的意见是,你们不应该这样做,Angular是为应用程序设计的,所以在开始之前让整个应用程序加载。即使是大型应用程序也会快速启动。动态加载模块可能会导致不必要的滞后,并且在不需要时不会卸载模块 但最终决定权归你所有:) 编辑:
如果您试图在用户登录时加载其他模块。我们通常使用querystring中的身份验证令牌重定向到生产应用程序,所以服务器允许我们使用该应用程序下载javascript。但这不是每次都必须的,我们通常会加载整个应用程序 您不能动态加载模块。Angular在引导过程中需要知道所有模块名称 要解决此问题,您可以创建空模块并将其名称传递给您的应用程序。
然后通过RequireJS加载模块JS文件,并逐个注册每个服务或控制器。动态加载模块,我建议使用require JS。可能的重复在运行时不起作用。您只能在应用程序运行之前执行此操作。哦!但是我们已经在您提到的oclazyload中使用了很长一段时间。使用oczlazyload它会工作的,您以前没有提到过这个库。