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 Create a new user Authorize new...
Table of contents 1. Overview 2. Parameters for c...
This article mainly explains how to use clearfix a...
After this roll call device starts calling the ro...
As more and more projects are deployed, more and ...
First look at the code and effect↓ <style> ...
As we all know, binlog logs are very important fo...
Introduction MySQL provides an EXPLAIN command th...
I solved a problem tonight that has been botherin...
Table of contents Preface 1. Image Optimization 2...
Table of contents Preface 1. Install Docker 2. In...
Table of contents Overview Same Origin Policy (SO...
as follows: docker run -d -p 5000:23 -p 5001:22 -...
Table of contents Preface 1. Error log 2. Binary ...
How to debug a page on iPad? When using iOS 5, you...