the*_*man 7 singleton angular2-components angular
我正在使用Angular 2来构建我的Web应用程序,其中包含许多组件.我正在使用angular-cli来创建,运行和构建项目.
偶然(或幸运)我偶然发现了一个错误,我意识到我的组件的多个实例正在创建.更糟糕的是当我意识到我的代码是随机引用任何一个这样的实例而没有任何逻辑来追溯它.
Date.now()console.log()语句,告诉我哪个实例是由我的变量的值调用的.
这是我的日志声明的图像.我已经把敏感部分搞砸了.可以清楚地看到,一些休息呼叫正在使用租户1的唯一ID,而一些用于试用租户.从两个实例时间也可以非常清楚地使用两个实例.以前登录的租户的旧实例在某种程度上仍在使用中,我的组件仍然可以访问它.
- 有没有办法让组件类单例化?
我不知道
- 有没有办法在离开组件时销毁组件实例?
是的,有一个界面OnDestroy
export class ClockComponent implements OnDestroy {
interval;
ngOnDestroy() {
clearInterval(this.interval);
}
constructor() {
this.interval = setInterval( ()=> console.log('tick') );
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5620 次 |
| 最近记录: |