我对Angular 文档的声明感到困惑,它说"这意味着组件的所有成员也将被销毁"

Doc Link

所以问题是我是否需要取消订阅,

  constructor(
    private readonly router: Router
  ) {
      this.router.events.subscribe((event: Event) => {
      if (event instanceof NavigationEnd) {

它明确表示,大约有ActivatedRoute人不需要取消订阅,但Router的混乱程度与events一样明显.

推荐答案

是的,您需要订阅路由事件,因为Router是全局可重用提供者,所以即使在组件销毁之后,Router也将与所有订阅一起存在于DI中.

Angular相关问答推荐

浏览器中的控制台根据折叠度同时显示字段的两个不同值

根据Angular中的构建来卸载独立组件

PrimeNG侧栏清除primeNG消息.为什么?

无法执行客户端功能Angular 17与ssr'

所有返回缺少权限或权限不足的FireBase项目.

VS代码中带Angular 17的缩进新控制流

Angular 16 Auth Guard在具有0的服务时给出Null Injector错误;httpclient;被注入

错误:在@angular/core中找不到导出ɵivyEnabled(导入为ɵivyEnabled)

在 kubernetes 上创建 Ingress 服务以将 springboot [后端] 连接到前端 [angular]

不再需要 core-js 了吗?

*ngIf 和 *ngFor 在 元素上使用

带有嵌套表单数组的 Angular react式表单

Angular 2: Debounce(ngModelChange)?

如何在Angular 4中为数字管道指定语言环境千位分隔符

Angular 2从assets文件夹加载CSS背景图像

Angular将 Select 值转换为 int

Angular 2+ ngModule 中导入/导出的作用

有条件地将 RouterLink 或其他属性指令添加到 Angular 2 中的元素

Lint 错误:实现生命周期挂钩接口

Angular 应用程序必须在新部署后清除缓存