我正在尝试在Angular中集成Angular Material但是会出现以下错误。该程序已成功编译,但在浏览器中出现此问题。
Uncaught Error: Unexpected value 'MatDialogRef' imported by the module 'AppModule'. Please add a @NgModule annotation.
at syntaxError (compiler.js:485)
at eval (compiler.js:15226)
at Array.forEach (<anonymous>)
at CompileMetadataResolver.getNgModuleMetadata (compiler.js:15201)
at JitCompiler._loadModules (compiler.js:34385)
at JitCompiler._compileModuleAndComponents (compiler.js:34346)
at JitCompiler.compileModuleAsync (compiler.js:34240)
at CompilerImpl.compileModuleAsync (platform-browser-dynamic.js:239)
at PlatformRef.bootstrapModule (core.js:5551)
at eval (main.ts:11)
我在app.module.ts中导入了MatDialogRef
import { MatDialogModule, MatDialogRef } from '@angular/material/dialog';
imports: [
BrowserModule,
FormsModule,
BrowserAnimationsModule,
MatButtonModule,
MatDialogModule,
MatDialogRef,
ReactiveFormsModule,
HttpModule,
HttpClientModule,
AppRoutingModule
],
我还在保存对话框html的组件中导入了它。
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';
导出类ComposeMailComponent实现OnInit {
constructor(private dialogRef: MatDialogRef<ComposeMailComponent>,
@Inject(MAT_DIALOG_DATA) private data) {}
ngOnInit() {
}
}
答案 0 :(得分:5)
您无需在app.module.ts中导入 MatDialogRef
,更改
这
<强> import { MatDialogModule, MatDialogRef } from '@angular/material/dialog';
强>
要
<强> import { MatDialogModule} from '@angular/material';
强>
并从MatDialogRef
数组
imports
答案 1 :(得分:1)
将这些添加到app.module.ts文件
从'@ angular / material'导入{MatDialogModule};
进口:[ MatDialogModule ]
它将正常工作