Angular 角度5,材料5 rc0-模态为;“不可购买”;
这件事快把我逼疯了。看看为什么它会给我这个错误Angular 角度5,材料5 rc0-模态为;“不可购买”;,angular,angular-material,Angular,Angular Material,这件事快把我逼疯了。看看为什么它会给我这个错误 Error: StaticInjectorError[MatDialogRef]: StaticInjectorError[MatDialogRef]: NullInjectorError: No provider for MatDialogRef! 打开控制台查看。这是因为他们似乎已经更改了每个模块的入口点。您必须从@angular/material/dialog和@angular/material/button导入MatDia
Error: StaticInjectorError[MatDialogRef]:
StaticInjectorError[MatDialogRef]:
NullInjectorError: No provider for MatDialogRef!
打开控制台查看。这是因为他们似乎已经更改了每个模块的入口点。您必须从
@angular/material/dialog
和@angular/material/button
导入MatDialogModule
、MatDialog
等。然而,他们似乎没有说明这一变化
您还忘了从@angular/platform browser/animations
导入浏览器动画模块
,忘了在样式.css中声明主题
看到这一点(我还将其更改为删除@Input()
,并改为使用componentInstance
)。。。成功了我们开始-
顺便说一句,我知道如何在stackblitz中用这个模式实现杀死Chrome:)我不明白的是如何在AppComponent中使用模式对话框而不注入MatDialog。基本上,我有一个带有@Input()isOpen:Observable的容器组件,然后是一个模态组件,它是容器的子组件……您可以使用我上面提到的componentInstance
属性。类似于让dialogRef=this.dialog.open(MyDialog);dialogRef.componentInstance.data=“TEST”
并确保MyDialog
组件声明了该属性。请让我了解。那么这种模式是如何工作的呢?我正在尝试在AppComponent级别使用一个通用组件,以便在我的应用程序中全局使用它。我用ngrx来做这个,这就是为什么我有这个ModalContainer。但现在我完全迷路了…谁否决了它-有什么原因吗?你是怎么做到的?链接中没有代码。