HarmonyOS 能否在自定义类中监听到页面的销毁
能否在自定义类中监听到页面的销毁?自己编写了一个类,想要做到在自己的类中监测页面销毁时,执行自己的delete方法。不想要在页面层去调用方法。
export class GlobalRequest {
listenList: number[] = []
registerObserver:Array<RegisterObserver> = []
static globalRequest:GlobalRequest
static createGlobalRequest() {
if(GlobalRequest.globalRequest)
{
console.log('我已经创建过了')
return GlobalRequest.globalRequest
}else{
let globalRequest = new GlobalRequest()
GlobalRequest.globalRequest = globalRequest
return globalRequest
}
}
register(event:number) {
if(this.listenList.findIndex(item => item === event) < 0) {
this.listenList.push(event)
libovitalMap.Client.omCmdCallback(event,0, (response:OmCmdCallbackCalss) => {
this.handler(response,event)
})
}
}
on(event:number, callback:Function) {
let id = generateUUID()
const observer:RegisterObserver = { event, id, callback }
this.registerObserver.push(observer)
this.register(event)
}
delete(event:number, callback?:Function){
const eventArray = this.registerObserver.filter(item => item.event === event)
if(eventArray.length < 0) {
return
}
if(!callback){
eventArray.forEach(item => {
const id = item.id
this.registerObserver = this.registerObserver.filter(observer => observer.id !== id)
})
return
}
const index = eventArray.findIndex(item => item.callback === callback)
if(index < 0){
return
}
const id = eventArray[index].id
this.registerObserver = this.registerObserver.filter(item => item.id !== id)
}
handler(response:OmCmdCallbackCalss,event:number) {
const triggerObserver = this.registerObserver.filter(item => item.event === event)
for(let i = 0; i < triggerObserver.length; i++){
if(triggerObserver[i].callback(response)){
break;
}
}
}
}
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
自定义Component中能否监听到手势返回?
699浏览 • 1回复 待解决
getContext(this)能否在自定义类中使用
2676浏览 • 1回复 待解决
自定义组件中onBackPress方法不回调,只有页面的此方法会回调, 如果想在自定义组件中也能监听到此方法咋办
2071浏览 • 1回复 待解决
HarmonyOS 在自定义page页面添加类装饰器无效
762浏览 • 1回复 待解决
HarmonyOS能否监听到设备翻转
687浏览 • 1回复 待解决
自定义弹窗能否在ts文件中定义和使用
2396浏览 • 1回复 待解决
HarmonyOS 在ArkTS类中想调用自定义弹窗
268浏览 • 1回复 待解决
加载页面的时候如何自定义header
1172浏览 • 1回复 待解决
HarmonyOS 如何主动销毁自定义组件
486浏览 • 1回复 待解决
HarmonyOS 使用Navigation,如何监听所有页面的创建及销毁
242浏览 • 1回复 待解决
HarmonyOS能否全局监听页面的生命周期
1027浏览 • 1回复 待解决
在自定义组件里使用watch监听
780浏览 • 1回复 待解决
在c++中实例化自定义类并调用方法
635浏览 • 1回复 待解决
HarmonyOS 自定义工具类中怎么弹出CustomDialogController自定义弹框?
945浏览 • 1回复 待解决
HarmonyOS 是否存在页面自定义结构或是页面的主动调用
201浏览 • 1回复 待解决
自定义组件什么时候销毁
2094浏览 • 1回复 待解决
HarmonyOS 自定义弹窗中跳转页面,弹窗仍然显示在页面之上
674浏览 • 1回复 待解决
HarmonyOS 页面关闭后,页面的this没被销毁
538浏览 • 1回复 待解决
HarmonyOS promptAction.openCustomDialog自定义弹窗在非UI类中调用问题
313浏览 • 1回复 待解决
HarmonyOS 自定义弹窗在页面中显示时,如何防止用户侧滑关闭自定义弹窗
384浏览 • 1回复 待解决
在系统设置修改了应用权限,应用能否监听到权限变化
2594浏览 • 1回复 待解决
HarmonyOS 能否默认使用自定义字体
163浏览 • 1回复 待解决
HarmonyOS 如何在ArkTS类中想调用自定义弹窗
342浏览 • 1回复 待解决
HarmonyOS Navigation转场动画能否只对单个页面使用自定义转场动画
480浏览 • 1回复 待解决
可以使用无感监听:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-arkui-observer-0000001815086738-V5