//global.service.ts
import { Injectable } from "@angular/core"
import { Subject } from "rxjs"
interface globalModalModel {
tipMsg?: string
show?: boolean
duration?: number
}
@Injectable({
providedIn: "root"
})
export class GlobalService {
constructor() {}
private globalModal = new Subject<any>()
globalModal$ = this.globalModal.asObservable()
updateGlobalModal(data: globalModalModel) {
this.globalModal.next(data)
}
public sysTime
public globalTime = new Subject<any>()
globalTime$ = this.globalTime.asObservable()
updateGlobalTime(data: any) {
this.globalTime.next(data)
this.sysTime = data
}
}
监听数据变化:
this.subscription_globalModal = this.GlobalService.globalModal$.subscribe(
(data) => {
this.tipMsg = data.tipMsg || ""
this.globalMaskShow = data.show
setTimeout(() => {
this.globalMaskShow = false
}, data.duration || 3000)
}
)
更新数据:
this.GlobalService.updateGlobalModal({
show: true,
duration: 1000000,
tipMsg: "服务器连接中断, 正在尝试重新连接....."
})