angular 封装公共方法

angular封装公共方法到service中间件,节省开发时间

layer.service.ts

openAlert(callback) {// 传递回调函数
    const dialogRef = this.dialog.open(AlertComponent, {
      hasBackdrop: true,
      data: this.layer.alert
    });

    // // alert关闭的时候会检测到是哪个关闭事件;
    dialogRef.afterClosed().subscribe(val => {
      if(callback){
          callback(val);
      }
    });
  }

组件接收调用

demo.component.html

<button (click)="openConfirm()">open confirm</button>

demo.component.ts

import {LayerService} from '../service/layer.service'; 

export class DemoComponent implements OnInit {

constructor(
   private layerService:LayerService) {

  }

//  打开confirm确认框
  openConfirm() {
    this.layerService.layer.confirm.content = '是否驳回?'
    this.layerService.openConfirm((val) => {
     if(val==0){
        console.log('确定--调接口');
        console.log(val);
      }
      if(val==1){
        console.log('取消--不调接口关闭弹层');
        console.log(val);
      }
      if(val==2){
        console.log('×--不调接口关闭弹层');
        console.log(val);
      }
    });
  }
}
原文地址:https://www.cnblogs.com/leiting/p/9069217.html