首页 > 解决方案 > 角度路由组件不会被更新销毁并再次加载

问题描述

当加载组件然后更改为另一条路线,然后再次加载时,我遇到了 angular 2+ 的问题。

我得到以下代码加载一个数组,然后将其加载到ngFor.

this.sub = this.subjectsService.getAllSubjects().subscribe(subjects => {
  this.subjects = subjects;
});

如果我在第一次加载时添加了一个项目,它会正确加载,但如果我更改为另一个组件然后返回,然后添加一个项目,则添加的值不会添加到列表中。

我已经检查过该数组是否在订阅中重置,但不知何故角度不会触发 html 更新。关于为什么会发生这种情况的任何想法?

标签: angulartypescriptangular5observablengrx

解决方案


正如上面评论中提到的,您需要退订。这是一个可以提供帮助的快速示例。

import { OnDestroy } from '@angular/core';


class XXXXXX implements OnDestroy {

  ngOnDestroy() {
    this.sub.unsubscribe();
  }
}

推荐阅读