前段时间我被指示实现一个材质模块以在其他模块中共享
为简洁起见,假设是这样的:
import { NgModule } from '@angular/core';
import { MatButtonModule } from '@angular/material/button';
import { MatCheckboxModule } from '@angular/material/checkbox';
import { MatDialogModule } from '@angular/material/dialog';
@NgModule({
exports: [
MatButtonModule,
MatCheckboxModule,
]
})
export class MaterialModule {}
然后在另一个模块中,我导入该模块
import { NgModule } from '@angular/core';
import { MaterialModule } from '../material.module';
@NgModule({
imports: [
MaterialModule
]
})
export class MyModule {}
在 MyModule 的一个组件中,我想引用一个 MatDialog 但似乎我需要在组件中再次导入
import { MatDialog } from '@angular/material/dialog';
这是做事的正确方法吗?
似乎是双重导入,一次在共享模块中,然后在组件中单独导入,该组件是已经导入共享 MaterialModule 的模块的一部分
从“@angular/material/dialog”导入 { MatDialogModule };
从“@angular/material/dialog”导入 { MatDialog };
我很确定我正在加倍进口,但 IDE(VS 代码)正在指导我这样做。
在我的组件中引用 MatDialog 的最小导入数是多少?具体在构造函数中
constructor(public dialog: MatDialog) {}
https://material.angular.io/components/dialog/examples是一个没有共享 MaterialModule 的简单示例。