1. Shared CommonModuleCreate a share model: ng gm share All modules that need to be shared are exported after importing. For now, there is only CommonModule, and there will be some components that need to be shared in the future. import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; @NgModule({ imports: [ CommonModule ], exports: CommonModule ], declarations: [] }) export class SharedModule { } Import the core Module into the app Module. import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { AppComponent } from './app.component'; import {CoreModule} from './core/core.module'; @NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, CoreModule ], providers: [], bootstrap: [AppComponent] }) export class AppModule { } 2. Shared MaterialModuleFor easy management, put the import and export of Material-related components in a separate Moduel, and import and export them in ShareModule. import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { MatToolbarModule, MatSidenavModule, MatButtonModule, MatCardModule, MatInputModule, MatListModule, MatSlideToggleModule, MatGridListModule, MatDialogModule, MatAutocompleteModule, MatMenuModule, MatCheckboxModule, MatTooltipModule, MatDatepickerModule, MatRadioModule, MatNativeDateModule, MatSelectModule } from '@angular/material'; import { MatIconModule } from '@angular/material'; const module=[ MatSidenavModule, MatIconModule, MatToolbarModule, MatIconModule, MatButtonModule, MatCardModule, MatInputModule, MatListModule, MatSlideToggleModule, MatGridListModule, MatDialogModule, MatAutocompleteModule, MatMenuModule, MatCheckboxModule, MatTooltipModule, MatDatepickerModule, MatRadioModule, MatNativeDateModule, MatSelectModule ]; @NgModule({ declarations: [], imports: [ module ], exports: module ] }) export class MaterialModule { } import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { MaterialModule } from '../material/material.module'; import { ConfirmDialogComponent } from './confirm-dialog/confirm-dialog.component'; @NgModule({ imports: [ CommonModule, MaterialModule ], exports: CommonModule, MaterialModule ], declarations: [ConfirmDialogComponent] }) export class SharedModule { } 3. Shared ConfirmDialogThe confirmation dialog box is used whether you are deleting a task or a project, so it is placed in the sharedModule. $ ng gc shared/confirm-dialog You can also create an inline template and style using ng gc shared/confirm-dialog -it -is <form> <h2 md-dialog-title>{{title}}</h2> <div mat-dialog-content> {{content}} </div> <div mat-dialog-actions> <button type="button" mat-raised-button color="primary" (click)="onClick(true)">OK</button> <button type="button" mat-button mat-dialog-close (click)="onClick(false)">Cancel</button> </div> </form> import { Component, OnInit, Inject } from "@angular/core"; import { MatDialogRef } from "@angular/material"; import { MAT_DIALOG_DATA } from "@angular/material"; @Component({ selector: "app-confirm-dialog", templateUrl: "./confirm-dialog.component.html", styleUrls: ["./confirm-dialog.component.scss"] }) export class ConfirmDialogComponent implements OnInit { title = ""; content = ""; constructor( private dialogRef: MatDialogRef<ConfirmDialogComponent>, @Inject(MAT_DIALOG_DATA) private data ) { } ngOnInit() { this.title = this.data.title; this.content = this.data.content; } onClick(result: boolean) { this.dialogRef.close(result); } } Then put the ConfirmDialogComponent component in sharedModule. import { NgModule } from "@angular/core"; import { CommonModule } from "@angular/common"; import { MaterialModule } from "../material/material.module"; import { ConfirmDialogComponent } from "./confirm-dialog/confirm-dialog.component"; @NgModule({ imports: [CommonModule, MaterialModule], exports: [CommonModule, MaterialModule], declarations: [ConfirmDialogComponent], entryComponents: [ConfirmDialogComponent] }) export class SharedModule { } If you use ConfirmDialog, refer to Deleting a Project. The above is a detailed explanation of the implementation of shared modules in Angular projects. For more information about Angular, please pay attention to other related articles on 123WORDPRESS.COM! You may also be interested in:
|
<<: Summary of Nginx load balancing methods
>>: Oracle deployment tutorial in Linux environment
Table of contents Character Set Comparison Rules ...
This article uses an example to describe how to u...
How to check if the Docker container time zone is...
Table of contents Docker Installation Nvidia-dock...
In general : [1 important flag] > [4 special fl...
Table of contents Overview Global hook function R...
The ultimate way to solve the parsererror error o...
It is mainly a CSS style control and a META tag; C...
1. Stop the MySQL service in the command line: ne...
Table of contents 1. Reverse proxy preparation 1....
1: Differences in speed and loading methods The di...
Preface: Recently, I encountered a management sys...
MySQL itself does not support recursive syntax, b...
This article example shares the specific code of ...
My computer graphics card is Nvidia graphics card...