我们在开发中,经常会封装一些公用组件,这些component可以统一封装到一个共享模块中,如果要在某个组件下使用公用组件,就先引入共享模块,然后使用angular提供的viewchild就可以很方便的调用组件内部的变量和方法。
这样做的好处是可以细粒度的封装一些逻辑,避免了重复代码。
shared.module.ts:
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { NzProgressModule } from 'ng-zorro-antd/progress';
import { NzNotificationModule } from 'ng-zorro-antd/notification';
import { NzSpinModule } from 'ng-zorro-antd/spin';
import { MypipeModule } from 'src/app/mypipeModule';
import { SceneProgressComponent } from 'src/app/mvvm/compoment/scene-progress/scene-progress.component';
let declarations = [
SceneProgressComponent //共享组件
];
@NgModule({
imports:[CommonModule,MypipeModule,NzProgressModule,NzSpinModule,NzNotificationModule],
declarations,
exports:declarations
})
export class SharedModule {}
其中MypipeModule封装了一些自己实现的公用pipe,注意pipe不可重复import,否则会报错。
import { NgModule } from "@angular/core";
import { TransformDatePipe } from "./transform-date.pipe";
import { FilesizePipe } from './filesize.pipe';
@NgModule({
declarations: [
TransformDatePipe,
FilesizePipe,
],
exports: [
TransformDatePipe,
FilesizePipe,
]
})
export class MypipeModule { }
网友评论