我已在documentation中读到,MatSnackBarConfig
对象可能有data
属性代表
将数据注入子组件。
所以我想我可以在通过openFromComponent
方法打开的自定义零食栏中使用这些数据。问题是我可以这样做吗?如果是,那我该怎么做?
在文档中提供了an example,假设我将openSnackBar
方法修改为以下内容:
应用/小吃店组分-example.ts
openSnackBar() {
this.snackBar.openFromComponent(PizzaPartyComponent, {
duration: 500, data: {message: 'Hello World!'}
});
}
现在,我怎样才能获得data
中的PizzaPartyComponent
对象?
我试图将它注入组件的构造函数,但无法解析。
//below code results in error
export class PizzaPartyComponent {
constructor(private data: any) {
console.log(data);
}
}
答案 0 :(得分:10)
我在材料github page找到了解决方案。
事实证明我以错误的方式注入了数据。合适的是:
import {MAT_SNACK_BAR_DATA} from '@angular/material';
// @Component decorator omitted
export class PizzaPartyComponent {
constructor(@Inject(MAT_SNACK_BAR_DATA) public data: any) { }
}