Angular 2 : Lazy Loading without Routing and Dynamic Loading

标签 angular angular2-routing

我正在为我的项目使用 mgechev 的 angular2 种子。我在 Angular2 上工作了 6 个月(跟随世界的所有 RC 到最终版本)。我坚持我的客户的要求。我希望你们能提供帮助。

问题来了。基于用户 Angular 色:

ROLE_ADMIN

ROLE_REVIEWER

Web 应用程序应该能够加载特定模块并显示。说,

  • 如果用户 Angular 色是 ROLE_ADMIN 然后加载 angular2 模块 Module1 & 模块 2
  • 如果用户 Angular 色是ROLE_REVIEWER 然后加载angular2模块 仅限 Module1

当我说加载时,这意味着它必须从服务器获取模块文件(所有与模块捆绑在一起的东西),注入(inject) Angular2 应用程序并显示该模块。

因此,如果用户 Angular 色是 ROLE_REVIEWER,我将只能看到 Module1,这意味着 Module2 甚至不应该从服务器。

编辑 这是困难的部分,在做的时候 url 没有改变。将此模块视为加载到仪表板 /dashboard 上的小部件。因此,加载这些模块时预计不会更改 url。

希望我的问题有足够的解释性。请建议我应该做什么或研究或研究以实现这一目标。

我最好的猜测是,我必须执行以下操作:

  • 条件延迟加载(无路由)然后,
  • 动态加载

但是我不知道怎么办。

最佳答案

需要使用路由和懒加载。 我使用的策略是根据 Angular 色动态配置路由器。 希望对您有所帮助

阅读您的编辑后

阅读您的编辑后,我的理解是使用“模块”一词可以识别一系列根据 Angular 色显示或不显示的小部件。在这种情况下,您不需要路由和延迟加载。这只是一些条件逻辑,您可以使用 *ngIf 在“仪表板”组件的模板中进行编码。

我建议不要在这个意义上使用“模块”这个词。 Module 要么在 EC6 意义上使用,要么在 Angular2 意义上使用。 在第一种情况下,它与“导入”/“导出”概念有关。第二种情况与延迟加载和路由有关。

希望对你有帮助

关于 Angular 2 : Lazy Loading without Routing and Dynamic Loading,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40079651/

相关文章:

asp.net-mvc - Angular 2 : how to get params from URL without using Routing?

Angular2嵌套路由器导出

angular - Angular 2 内部如何实现二级路由?

angular - 如何从http请求返回一个observable

javascript - Ionic - 如何将 base64 图像上传到需要 MultipartFile 的 Spring Boot 端点?

javascript - Angular 6 媒体查询问题

angular - 悬停时如何在按钮顶部显示工具提示?

Angular 2 : 404 error occur when I refresh through the browser

angular - 如何在不丢失准备好的 css 的情况下在 Ionic 2/3 中编写自定义组件?

angular - 如何返回到 Angular 4中的上一个粗加工