在图片中,你可以看到一个按钮在两个点上添加了完全相同的标记。绿色按钮添加在我的app.component.html
中,它在根app.module.ts
中声明。该模块也是我导入MatButtonModule
和嵌套TodosModule
的地方。
红色框包含了我的todos.component.html
,它是在我的todos.module.ts
中声明的。你可以看到这个按钮没有应用材质样式。为什么会这样?我的嵌套模块没有使用我的根模块中导入的样式吗?
按钮html:
<button mat-raised-button color="primary">Add</button>
app.module.ts
import { MatButtonModule } from "@angular/material/button";
import { TodosModule } from "./todos/todos.module";
@NgModule({
declarations: [
AppComponent,
],
imports: [
MatButtonModule,
TodosModule,
],
})
export class AppModule {}
todos.module.ts
import { AddToDosComponent } from "./components/add-to-dos/add-to-dos.component";
@NgModule({
declarations: [AddToDosComponent],
})
export class TodosModule {}
1条答案
按热度按时间8e2ybdfx1#
MatButtonModule
不工作的原因是它仅适用于AppModule
(范围)。导入
AppModule
(根模块)中的MatButtonModule
将不会继承给子/嵌套模块。您应该实现一个
SharedModule
并将其导入到所需的每个模块中。material-theme.module.ts
shared.module.ts
to-dos.module.ts
一个二个一个一个
Demo @ StackBlitz