angular封装公共方法到service中间件,节省开发时间html
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); } }); }
组件接收调用this
demo.component.htmlspa
<button (click)="openConfirm()">open confirm</button>
demo.component.tscode
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); } }); } }