Ahm*_*ssy 4 javascript typescript angular-material2 angular angular5
Angular 5材质,材质小吃栏仅对于自定义ErrorHandling无法正确显示,否则工作正常:
我正在尝试使用材质小吃栏显示后端错误,问题是第一次触发时,它出现在错误的位置(不是应该在底部中间,而是在左边),并且永远存在在那里而不会消失(根据我的配置,它应该在2秒后自动消失)
下次出现时,它将正确显示并在2秒钟后消失。
请在此处尝试该问题: 显示我的问题的stackblitz示例。
谢谢
我花了很长时间才找到答案,我不太确定为什么会这样,但是它确实起作用,所以我希望它能对其他人有所帮助。
在ErrorHandler中调用材质小吃栏时,我们必须使用一种称为NgZone的东西(我认为由于ErrorHandler在Angular中以某种特殊方式被调用)
因此,调用小吃栏的代码应为:
constructor(private matSnackBar: MatSnackBar, private zone: NgZone, private dataService: DataService) { }
notify (message: string) {
this.zone.run(() => {
this.matSnackBar.open(message, '' , {
duration: 2000
});
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1654 次 |
| 最近记录: |