angularjs – 如何以角度创建可插拔应用程序?
发布时间:2020-12-17 07:54:55 所属栏目:安全 来源:网络整理
导读:我想创建一个应用程序,它可以分为多个模块和自己的路由和所有.用户可以从应用程序主模块打开和关闭这些模块. 我是否必须加载所有模块并且基于用户是否已订阅而不可用.我认为它会减慢应用程序负载,因为加载所有模块代码并在应用程序引导时注入. 这个问题有其
我想创建一个应用程序,它可以分为多个模块和自己的路由和所有.用户可以从应用程序主模块打开和关闭这些模块.
>我是否必须加载所有模块并且基于用户是否已订阅而不可用.我认为它会减慢应用程序负载,因为加载所有模块代码并在应用程序引导时注入.
应为主模块提供已启用模块的列表:
var enabledModules = [...]; angular.module('app',['thirdParty','app.common'].concat(enabledModules)); 显然,enabledModules数组不能正常加载$http,因为此时应用程序没有自举.可以使用XHR或服务器端模板来定义它. 或者,可以使用单独的应用程序来加载先决条件.由于使用DI,可以对其进行全面测试. angular.module('app','app.common']); angular.module('appInitializer',[]) .factory('loader',($http) => { return $http.get('enabled-modules').then((result) => result.data); }) .factory('initializer',(loader,$document) => { return loader.then((enabledModules) => { $document.ready(() => { angular.bootstrap($document.find('body'),['app'].concat(enabledModules)); }); }); }); angular.injector(['ng','appInitializer']) .get('initializer') .catch((err) => console.error(err)); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读