Angular 将链接插入Matsnakbar

Angular 将链接插入Matsnakbar,angular,angular-material2,Angular,Angular Material2,是否可以将链接插入角材质2中 我试着在文本中这样做,但它将html显示为文本 const text = '<a routerLink="/login">login</a>'; this.snackBar.open(text, 'OK', { duration: environment.snackBarTime, }); const text='login'; this.snackBar.open(文本“OK”{ 持续时间:environment.snackBarTi

是否可以将链接插入角材质2中

我试着在文本中这样做,但它将html显示为文本

const text = '<a routerLink="/login">login</a>';
this.snackBar.open(text, 'OK', {
  duration: environment.snackBarTime,
});
const text='login';
this.snackBar.open(文本“OK”{
持续时间:environment.snackBarTime,
});

您必须为链接创建自己的自定义snackbar组件:

自定义snackbar.component.html


供您使用。

如果您只想在用户单击snackbar操作时导航用户,那么有一个更简单的解决方案,不需要创建专用组件

this.snackBar.open('Record has been created', 'View Record', { duration: 5000})
  .onAction()
  .subscribe(() => this.router.navigateByUrl('/app/user/detail'));

谢谢一个非常聪明的解决方案!它工作正常,但在控制台中,我收到以下错误
错误:ExpressionChangedAfterItHasBeenCheckedError:Expression在检查后已更改。以前的值:“未定义”。当前值:“可见底部”。该视图似乎是在父视图及其子视图已被脏检之后创建的。它是在变更检测钩子中创建的吗?
@Developer这是一个已知的angular和rxjs错误。您可以在谷歌上搜索它。@Edric:当您使用openFromComponent时,如何在示例中添加操作按钮(例如“确定关闭”)?Thanks@Iteration,将其添加到自定义snackbar组件中,并使用该组件中定义的close方法。像这样:
OK