gpt4 book ai didi

导航后的 Angular 显示 snackbar

转载 作者:行者123 更新时间:2023-12-05 01:15:19 25 4
gpt4 key购买 nike

我有两个组件。在成功的服务器响应的第一个中,我想执行以下操作:

this.router.navigate(['']);
this.snackBarMessage = 'Successfully submitted';

然后页面被重定向到另一个组件,我想在那里显示snackBarMessage消息,例如(ngOnInit())

类似的东西:

this.snackBarService.openSnackBar(snackBarMessage, 'Close', 9999999);

我的snackBarService:

import { Injectable } from '@angular/core';
import { MatSnackBar } from '@angular/material';

@Injectable({
providedIn: 'root'
})
export class SnackBarService {

constructor(private matSnackBar: MatSnackBar) { }

openSnackBar(message: string, action: string, duration?: number) {
this.matSnackBar.open(message, action, { duration });
}
}

我怎样才能做到这一点?导航后如何将 snackBarMessage 传递给另一个组件?

最佳答案

this.router.navigate([``]) 返回一个您可以订阅的 promise 。这个promise会在导航成功后执行。请看这个Documentation了解更多信息。

this.router.navigate(['']).then((navigated: boolean) => {
if(navigated) {
this.snackBarService.openSnackBar(snackBarMessage, 'Close', 9999999);
}
});

关于导航后的 Angular 显示 snackbar ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56459195/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com