angular - 如何确定从哪里调用组件?有角度的
问题描述
我有一个想要用作模态的组件
showMyPopup(): void {
this.matDialog.open(MyComponent, {
maxWidth: '92vw',
maxHeight: '90vh',
width: '100%',
height: '100%',
position: {
right: '10px',
bottom: '6px',
},
data: {
isModalComponent: true,
},
});
}
}
只是一页
<app-my-component>
</app-my-component>
如何确定这是一个模态窗口?改变它在组件内的样式?我试过这样
constructor(@Inject(MAT_DIALOG_DATA) data) {
console.log(data);
但这不起作用,因为如果窗口不是模态的,则会出现错误
解决方案
你非常接近 - 使用@Optional()
constructor(@Optional() @Inject(MAT_DIALOG_DATA) private data){};
get isModal(){
return !!this.data;
}
推荐阅读
- symfony - 使用 FormBuilder symfony 更改表单名称
- visual-studio - 如何将 .net Core 应用程序从我的 Mac 部署到 Amazon AWS (Ubuntu)
- qt - QML Image Element > Retina/HiDPI 支持基于网络的图像
- python - 显示图像 tkinter macOSX
- html - 仅在此传单地图中使用 OpenStreetMap?
- html - Flexbox 中间列居中问题
- android - Gradle 构建在“配置构建”上失败
- javascript - 如何使用jquery增加动态添加的输入onclick的索引
- java - JAVA maven JSP不会加载css文件
- c# - 停止行命令 c#