延迟加载 Angular 13+ 模块,无需使用已弃用的编译器

2023-11-24

我曾与加载和实例化 Angular 模块。 (不带路由器)

但现在,在 Angular 13 中,我发现实例化 NgModule 的常用编译器工具已被弃用:

enter image description here

这是我加载模块的常用代码

const moduleFactory = await this.compiler.compileModuleAsync(module);
const moduleRef = moduleFactory.create(this.injector);
const componentFactory = moduleRef.instance.resolveComponent(selector);

看得更深入 ViewContainerRef 现在包含工厂的 V13 更改使动态组件更容易了 1 步。然而,关于ViewContainerRef.createComponent()该文件指出:

已弃用的 Angular 不再需要组件工厂 动态创建组件。使用不同的签名 createComponent 方法,允许直接传递 Component 类。

那么 Angular 13+ 中这些任务的新方向是什么?


您可以利用新的创建Ng模块方法并替换这些步骤:

const moduleFactory = await this.compiler.compileModuleAsync(module);
const moduleRef = moduleFactory.create(this.injector);

with

const moduleRef = createNgModule(module, this.injector);

您还可以在 Angular 文档中阅读有关所有弃用和可能替换的信息https://angular.io/guide/deprecations

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

延迟加载 Angular 13+ 模块,无需使用已弃用的编译器 的相关文章

随机推荐

  • 我在命令提示符中看到一个问号,而不是货币符号

    我使用 Windows 7 Visual Studio 2013 C 和 NET 4 5 我的问题是下面一行的输出 Console WriteLine Car s value 0 C myNewCar determineMarketValu
  • 我怎样才能知道c中指针变量分配的内存大小[重复]

    这个问题在这里已经有答案了 我在这种情况下遇到了一些问题 您能请您提供一下想法吗 main char p NULL p char malloc 2000 sizeof char printf size of p d n sizeof p 在
  • => 在 Linq 表达式中意味着什么 [重复]

    这个问题在这里已经有答案了 虽然这是一个重复的问题 但我以前从未在代码中见过表达式 gt 如果我知道这是一个 lambda 表达式 我就会用 google 搜索并自己找出答案 谢谢 我是 Linq 的新手 所以当我在这段代码中遇到 gt 时
  • 如何制作 Django 查询集来选择组内具有最大值的记录

    这是我的 Django 类 class MyClass models Model my integer models IntegerField created ts models DateTimeField default datetime
  • 在 Python 中查找箭头键的值:为什么它们是三元组?

    我正在尝试查找本地系统分配给箭头键的值 特别是在 Python 中 我正在使用以下脚本来执行此操作 import sys tty termios class Getch def call self fd sys stdin fileno o
  • 如何防止 Excel 在宏计算时渲染电子表格?

    我的宏用数字更新一个大型电子表格 但它运行速度非常慢 因为 Excel 在计算时渲染结果 如何在宏完成之前阻止 Excel 渲染输出 我使用了两种建议的解决方案 Application ScreenUpdating False Applic
  • 如何在 thymeleaf 中处理和连接字符串

    我有一个字符串列表 这是我感兴趣的属性名称 我想连接这些字符串的值 但不使用属性名称 而是使用它们的属性值 我看到起点是 strings listJoin 但是我怎么能说将列表中的元素与属性文件中的值相匹配呢 该列表将是 name addr
  • 创建一个可根据其内容调整大小的 QDockWidget

    我有一个应用程序 需要在运行时根据用户输入以编程方式将固定大小的子窗口小部件添加到停靠窗口小部件 我想将这些小部件添加到 Qt RightDockArea 上的停靠栏 从上到下直到空间不足 然后创建一个新列并重复 本质上与流程布局示例相反
  • cpp中的“[=]”是什么意思

    请检查下面的代码 NodeScheduleLambda this 0 01f this gt removeFromParentAndCleanup true 那里面的 是什么意思呢 有谁可以帮帮我吗 谢谢 lambda 是一种未命名 匿名函
  • NewDirectByteBuffer 是否在本机代码中创建副本

    我正在 C 中创建两个数组 这两个数组将在 java 端读取 env gt NewDirectByteBuffer env gt NewByteArray 这些函数会复制我发送的缓冲区吗 我是否需要在 C 端的堆上创建缓冲区 或者是否可以在
  • Selenium IDE:如何在未找到元素或出现错误时继续执行脚本

    我需要你的帮助 我只想在 Firefox 上继续我的 Selenium IDE 脚本 即使出现错误或未找到元素 我正在使用 HTML 格式的脚本 在下一个命令中使用该元素之前 您必须显式检查该元素是否存在 这可能会导致错误并中断脚本的执行
  • HTTP 请求失败! HTTP/1.1 503 服务暂时不可用

    我正在使用函数 file get contents 从网页获取内容 有些网站运行良好 但大多数都给我这个错误 failed to open stream HTTP request failed HTTP 1 1 503 Service Te
  • 具有不同文本大小的 TextView

    是否可以在一个 TextView 中设置不同的 textSize 我知道我可以使用以下方法更改文本样式 TextView textView TextView findViewById R id textView Spannable span
  • 防止堆上未对齐的数据

    我正在构建一个使用 SSE 内在函数的类层次结构 因此该类的一些成员需要 16 字节对齐 对于堆栈实例我可以使用 declspec align 像这样 typedef declspec align 16 float Vector 4 cla
  • Azure 容器应用程序每 30 秒重新启动一次

    我有一个基于的 Azure 容器应用程序托管后台服务模型 它本质上只是一个长期运行的控制台应用程序 它覆盖了BackgroundService ExecuteAsync方法并等待停止信号 通过传递的取消令牌 当我在 Docker 中本地运行
  • 在 jQuery 中,将数字格式化为小数点后两位的最佳方法是什么?

    这就是我现在所拥有的 number val parseFloat number val toFixed 2 我觉得很乱 我认为我没有正确链接这些函数 我是否必须为每个文本框调用它 或者我可以创建一个单独的函数吗 如果您要对多个领域执行此操作
  • 与区域设置无关的 strtod 实现

    我有一个库需要解析始终使用点 的双数 作为小数点分隔符 不幸的是 对于这种情况 strtod 尊重可能使用不同分隔符的语言环境 因此解析可能会失败 我无法 setlocale 它不是线程安全的 所以我现在正在寻找一个干净的独立于语言环境的
  • 同步三个线程

    在采访中被问到这个问题 试图解决它 但没有成功 我想到使用 CyclicBarrier 有三个线程 T1 打印 1 4 7 T2 打印 2 5 8 T3 打印 3 6 9 如何同步这三个来打印序列 1 2 3 4 5 6 7 8 9 我尝试
  • 从 2 个向量的串联构建一个向量

    有没有办法构建一个vector作为 2 的串联vectors 除了创建一个辅助函数 例如 const vector
  • 延迟加载 Angular 13+ 模块,无需使用已弃用的编译器

    我曾与加载和实例化 Angular 模块 不带路由器 但现在 在 Angular 13 中 我发现实例化 NgModule 的常用编译器工具已被弃用 这是我加载模块的常用代码 const moduleFactory await this c