以角度4自动保存路线变化的表格/模型内容

问题描述 投票:3回答:1

在角度4应用程序中,我正在从一个模块移动到另一个模块我想自动保存我的内容,所以我需要识别路线的变化。

class MyClass {
  constructor(private router: Router) {
    router.events.subscribe((val) => {
        // see also 
        console.log(val instanceof NavigationEnd) 
    });
  }
}

我已经使用过此代码,但每次访问时此调用都会递增。它类似于Gmail,它构成了当我从编写屏幕移动到其他屏幕时如何将数据保存到草稿中。

angular angular4-router
1个回答
3
投票

您离开时将离开订阅,因此它将增加。您需要取消订阅:

import { Subscription } from 'rxjs/Subscription';

// ...

sub = new Subscription();

// ...

this.sub = router.events.subscribe((val) => {
    // see also 
    console.log(val instanceof NavigationEnd) 

});

// ...

ngOnDestroy() {
  this.sub.unsubscribe();
}
© www.soinside.com 2019 - 2024. All rights reserved.