延迟加载 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+ 模块,无需使用已弃用的编译器 的相关文章

  • Angular 2 无线电列表中的模型不会更新

    我正在尝试构建一个 Angular 2 组件 它显示带有无线电的选项列表 它工作正常 但它answer组件的字段 绑定在内部 ng model answer 选择其中一个选项时不会更新 我做错了什么还是这不是创建单选选项列表的方法 div
  • Angular4 Material md-table 列宽度像普通表一样自动调整大小

    我在 Angular 4 应用程序中使用 md table 因为我将 Material 用于 UI 格式的其他部分 当我使用基本上没有 CSS 的常规表格时 列会自动设置格式以适合最宽的 td 元素 使用 md table 除了太宽的单元格
  • 无法在 routerOnActivate 上获取查询参数

    我在尝试使用新的路线库获取查询参数时遇到问题 VERSION2 0 0 rc 1 Problem routerOnActivate curr RouteSegment prev RouteSegment currTree RouteTree
  • 如何在 Angular 5 中添加规范链接

    如何在 Angular 5 中动态添加规范链接 面对同样的问题 我四处搜索并找到了有关如何执行此操作的指南 https www concretepage com angular angular title service and canon
  • Angular2 - Keyup 需要澄清

    在我的应用程序中 我有条件地添加一个类 当用户输入某些内容时 我正在检查该值 并相应地添加类名称 效果很好 但它只更新一组 keyup 0 设置一些值keyup 这不像angular 1 here 所以有人解释一下为什么我们要设置 keyu
  • 获取路由查询参数

    我正在尝试从 rc1 迁移到 rc4 但在获取查询字符串参数时遇到问题 ActivatedRoute 对象始终为空 英雄组件 ts import Component OnInit from angular core import Contr
  • Angular2 - 自定义 CSS / JS 文件的文件夹是什么? [复制]

    这个问题在这里已经有答案了 我必须在我的 angular2 应用程序中包含一组 CSS 和 JS 文件 为了将它们包含在内 正确的文件夹是什么当我进行构建时 我应该把它们放进去吗SRC 资产或以下SRC 我的文件夹 定义后 我如何将它们包含
  • Angular 5 - 谷歌未定义(谷歌地图)

    我想在我的 Angular 5 应用程序上使用谷歌地图 但遇到了一些问题 加载视图时 我在 js 控制台中收到错误 LoginComponent Host ngfactory js sm 1 ERROR ReferenceError goo
  • 角度报告进度返回上传的文件总数,而不是进度

    在我的组件中我有这个 this authService addPost post subscribe data gt if data type HttpEventType UploadProgress console log data el
  • Angular - 通用服务的提供者

    我已经为我的 HTTP API 创建了一个通用服务 并且我想为不同的端点提供此服务 而无需为每个端点创建一个类 我的服务看起来像这样 export class ApiService
  • Angular 中的单元测试点击事件

    我正在尝试将单元测试添加到我的 Angular 2 应用程序中 在我的一个组件中 有一个带有 click 处理程序 当用户单击按钮时 将调用在中定义的函数 ts类文件 该函数在 console log 窗口中打印一条消息 表明该按钮已被按下
  • 在 Angular 2 Typescript 应用程序中使用 moment.js

    我在 Angular 2 Typescript 应用程序中使用 moment js 库时遇到了困难 即使在阅读了答案之后这个问题 https stackoverflow com q 35166168 1031097我无法让它工作 这就是我到
  • Angular 4 触发自定义事件 - EventEmitter 与dispatchEvent()

    我正在构建指令 该指令应该在元素进入视口时添加类 并且还将触发自定义事件 我找到了两种触发事件的方法 EventEmitterand dispatchEvent 两者都工作正常 在这种情况下应该使用哪个 为什么 对代码的任何其他建议表示赞赏
  • Angular6 材料垫选择列表中当前选择的值

    使用角度材质2垫选择列表 能够判断当前选项是选中还是未选中 Boolean 组件 html
  • 如何将 Angular Universal 应用程序部署到 Node.js 生产服务器?

    我有一个带有 Universal 的 Angular 8 应用程序 我想将其部署到共享 Web 主机生产服务器 我提前与网络主机核实过 他们告诉我可以在他们的共享网络托管上托管 Angular 通用网络应用程序 但是 无论我做什么 我都无法
  • Angular,从动态创建的组件中获取ViewChild / ViewContainerRef

    有没有办法从动态创建的组件中获取 ViewContainerRef 我的动态创建的组件内部有一个 ngContent 元素 我想在动态创建后填充该元素 export class Example ViewChild content read
  • 找不到管道“货币”(AOT)

    我们有一个从 Angular 6 升级到 7 的 Angular 我们正在使用内置的currency管道 服务时一切正常 ng serve 以及在 DEV 中构建时 但是当我们尝试构建生产我们正在得到The pipe currency co
  • 错误::预期有间谍,但未定义

    我收到预期的 Spy 错误 但在我的 Angular 10 测试中未定义 我正在使用 Jasmine 和 Karma 我已将 SpreadsheetService 服务模拟为mockSpreadSheetService 我正在调用它的方法
  • 具有多个 Angular 2 应用程序的 ASP.Net Core MVC [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在尝试为一个我知道会变得越来越复杂的项目准备结构 我想使用 ASP Net Core MVC 进行顶层导航 我想在每个主视图中放置
  • Angular2 如何对自定义验证器指令进行单元测试?

    我为输入字段编写了一个非常简单的自定义验证器 import Directive from angular core import AbstractControl NG VALIDATORS from angular forms functi

随机推荐

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

    我使用 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