import { Component, OnInit, ViewChild } from '@angular/core';
import {Subject} from 'rxjs';
import {debounceTime} from 'rxjs/operators';
import {NgbAlert} from '@ng-bootstrap/ng-bootstrap';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {
staticAlertClose=false;
successMesage='';
private _success = new Subject<string>();
@ViewChild('staticAlert', {static: false}) staticAlert: NgbAlert;
@ViewChild('selfClosingAlert', {static: false}) selfClosingAlert: NgbAlert;
ngOnInit(): void {
//throw new Error('Method not implemented.');
setTimeout(() => this.staticAlert.close(), 20000);
this._success.subscribe(message => this.successMessage = message);
this._success.pipe(debounceTime(5000)).subscribe(() => {
if (this.selfClosingAlert) {
this.selfClosingAlert.close();
}
});
}
close(alert: Alert) {
this.alerts.splice(this.alerts.indexOf(alert), 1);
}
reset() {
this.alerts = Array.from(ALERTS);
}
title = 'blog';
}
enter code here
我启用了严格标志来帮助发现问题,但我遇到了这个问题。 我在 app.component.ts 文件中编写了这段代码,并从 https://ng-bootstrap.github.io/#/components/alert/examples 用于自动关闭警报示例