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 1. Installation 2.APi 3. react-...
Table of contents 1. Original value and reference...
This article shares the specific code of js to ac...
Recently, I have been working on a large-screen d...
Table of contents Preface Method 1: High contrast...
Due to business needs, there are often rush purch...
Detailed explanation of MySQL sorting Chinese cha...
Preface This article will share some docker-compo...
reduce method is an array iteration method. Unlik...
1) Scope of application: readonly:input[type="...
500 (Internal Server Error) The server encountere...
This article example shares the specific code for...
Today, database operations are increasingly becom...
Table of contents Preface Install vue-i18n Config...
As the title says: The height is known, the width...