当前位置: 首页 > wzjs >正文

专业的魔站建站系统企业宽带解决方案

专业的魔站建站系统,企业宽带解决方案,wordpress 年份索引,网站设计与建设论文鸿蒙中存在一些无感监听,这些监听经过系统API封装使用很简单,但是对实际业务开发中有很重要,例如埋点业务、数据统计、行为上报、切面拦截等。 Navigation的页面切换 在鸿蒙中Navigation被用来作为路由栈进行页面跳转,如果你想知…

鸿蒙中存在一些无感监听,这些监听经过系统API封装使用很简单,但是对实际业务开发中有很重要,例如埋点业务、数据统计、行为上报、切面拦截等。

Navigation的页面切换

在鸿蒙中Navigation被用来作为路由栈进行页面跳转,如果你想知道页面的路由栈,以及前后切换的页面,可以通过官方提供的无感监听的页面切换navDestinationSwitch。

  private _navDestinationListener() {this.uiContext?.getUIObserver().on('navDestinationSwitch', (info: uiObserver.NavDestinationSwitchInfo) => {let to = info.to;if (to != 'navBar') {let navName = `${to.name.toString()}#${to.navDestinationId}`;}});}
    this.uiContext?.getUIObserver().off('navDestinationSwitch');

点击事件的监听

通过对系统控件设置customProperty,可以通过didClick进行点击事件拦截,相当于对全部的系统控件可以hook处理。

  @BuilderTabBuilder(index: number, controller: TabsController) {Column() {this.CanvasComponent(index, this.getCanvasRenderingContext())}.onClick(() => {}).layoutWeight(1).customProperty('customPropertyKey', 'value')}
 private _didClickListener() {this.uiContext?.getUIObserver().on('didClick', (event: GestureEvent, frameNode?: FrameNode) => {if (frameNode == null) {return;}frameNode.getCustomProperty('customPropertyKey')});}
    this.uiContext?.getUIObserver().off('didClick');

监听TabContent页面的切换事件

在鸿蒙中页签Tabs控件的使用频率比较高,如果想知道哪个子TabContent被点击了,就可以使用监听TabContent页面的切换事件。

 private _tabContentUpdateListener() {this.uiContext?.getUIObserver().on('tabContentUpdate', (info: uiObserver.TabContentInfo) => {if (info.state != uiObserver.TabContentState.ON_SHOW) {return;}this._handleContentUpdateEvent(info.id, info.uniqueId, info.index, info.tabContentUniqueId, true);let frameNode = this.uiContext?.getFrameNodeByUniqueId(info.tabContentUniqueId);});}

    this.uiContext?.getUIObserver().off('tabContentUpdate');
![](https://i-blog.csdnimg.cn/img_convert/19cb50e8b0bf17ea2a72d203739ce9cc.png)

Aspect插桩能力

Aspect类用于封装提供切面能力(Aspect Oriented Programming,简写AOP)的接口,这些接口可以用来对类方法进行前后插桩或者替换实现。

在指定的类对象的原方法执行前插入一个函数。addBefore接口执行完成后,都会先执行插入的函数逻辑,再执行指定类对象的原方法。

在指定的类方法执行后插入一段逻辑。最终返回值是插入函数执行后的返回值。

通过插桩处理,在弹框前后做一些逻辑,例如在弹框前后设置变量,就可以判断弹框是否有触发。

 util.Aspect.addBefore(CustomDialogController, 'open', false, () => {AppStorage.setOrCreate(BusinessUseConstant.CUSTOMDIALOG_ISOPEN, true)});util.Aspect.addBefore(CustomDialogController, 'close', false, () => {AppStorage.setOrCreate(BusinessUseConstant.CUSTOMDIALOG_ISOPEN, false)});

文章转载自:

http://GSfFwoLV.pwfwk.cn
http://kj8soHT9.pwfwk.cn
http://BBR5qEVA.pwfwk.cn
http://7BL3BNi9.pwfwk.cn
http://GEOWWZOg.pwfwk.cn
http://pIFjNYGy.pwfwk.cn
http://GJHzTx1h.pwfwk.cn
http://bZQJDJ1r.pwfwk.cn
http://Qurt8OP2.pwfwk.cn
http://MCspHjW6.pwfwk.cn
http://NyxSCW5N.pwfwk.cn
http://pJ1aUwtr.pwfwk.cn
http://dCU4Qcrz.pwfwk.cn
http://c6Ov6nYb.pwfwk.cn
http://ZXBU8DpM.pwfwk.cn
http://LcFaHMhz.pwfwk.cn
http://oqTTyOAZ.pwfwk.cn
http://GWGdRZqN.pwfwk.cn
http://GkKlqqs6.pwfwk.cn
http://ttDLSbbO.pwfwk.cn
http://WRytYiZZ.pwfwk.cn
http://qlVebetp.pwfwk.cn
http://fXulyvqK.pwfwk.cn
http://wP76kqU1.pwfwk.cn
http://wfF2zsZ4.pwfwk.cn
http://7Ly8Ib5y.pwfwk.cn
http://c8V3vFkD.pwfwk.cn
http://3TfwANZU.pwfwk.cn
http://8oU8QVg1.pwfwk.cn
http://7Iw0safP.pwfwk.cn
http://www.dtcms.com/wzjs/772726.html

相关文章:

  • 视频网站开发的论文机械网站 英文
  • 公司网站开发找哪家给别人做金融网站 犯法吗
  • 怎么在本机做网站wordpress 常见问题
  • 无锡模板建站多少钱wordpress 4.2.8
  • 各大网站域名说明书得制作需要哪些材料
  • 上海企业网站改版数字广东网络建设有限公司招聘
  • 网站建设营销制作设计oppo开放平台
  • 网站建设移交确认书网站服务公司有哪些
  • 开封建网站的公司西安推广公司无网不胜
  • 上海网站建设yuue茶叶市场网站建设方案
  • 海外做淘宝网站wordpress 赢利模式
  • 网站设计的内容建设电影推荐网站的项目背景
  • 如何用域名进网站女孩子做室内设计累吗
  • 苏宁电器网站建设特点分析网站如何管理
  • html旅游网站页面设计模板如何建立一个网站
  • 常州微信网站建设公司做一个属于自己的网页
  • 做淘客网站如何用wordpress建网站
  • 网站建设书籍资料网页网站设计培训
  • 深圳网站建设 营销wordpress极客学院
  • 有什么比较好的画册设计网站正邦设计陈丹
  • 湖南省住房与城乡建设部网站开发区建网站外包
  • 营销型网站建设价格贵吗wordpress主题解压后有多个文件
  • 北京网站开发网络公司郑州网站建设特色
  • 自己做的网站发到网上杭州做兼职网站建设
  • 淘宝代做网站玉树电子商务网站建设公司
  • 长春建站费用中卫网架配件多少钱
  • 网站备案名称更改宝丰网站制作效果好
  • 东莞营销网站建设报价房山企业网站建设公司
  • 山东广饶县建设局网站wordpress如何降级
  • 济南手机建站模板joomla 多语言网站