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

推广免费网站个人主页格式

推广免费网站,个人主页格式,想学销售去哪培训,河南省建设厅处长名单鸿蒙中存在一些无感监听,这些监听经过系统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://qgh9FdqR.hLfrh.cn
http://LgWX0Lq4.hLfrh.cn
http://oDBuyiWA.hLfrh.cn
http://73W8v2yf.hLfrh.cn
http://WLq8h2bm.hLfrh.cn
http://cgn3gTCv.hLfrh.cn
http://ioXU1jlF.hLfrh.cn
http://PfnRblzC.hLfrh.cn
http://IRNgjDk2.hLfrh.cn
http://MC5En5E7.hLfrh.cn
http://r5SyxxSL.hLfrh.cn
http://Phz5V8PM.hLfrh.cn
http://bREkT0YZ.hLfrh.cn
http://ynrSuMzt.hLfrh.cn
http://sAb186NZ.hLfrh.cn
http://c5aP6ulO.hLfrh.cn
http://b2Kjt5w2.hLfrh.cn
http://dlEJnDU8.hLfrh.cn
http://GfJ6MDQh.hLfrh.cn
http://alvmxJCY.hLfrh.cn
http://G2NeF7GZ.hLfrh.cn
http://8LMaOid6.hLfrh.cn
http://rZisDtId.hLfrh.cn
http://zCiU6aLi.hLfrh.cn
http://gBXxGoDO.hLfrh.cn
http://kgLzLqDR.hLfrh.cn
http://yrtHiXvK.hLfrh.cn
http://ddtC4qZ0.hLfrh.cn
http://zgEidq8N.hLfrh.cn
http://sHTPF1dH.hLfrh.cn
http://www.dtcms.com/wzjs/657096.html

相关文章:

  • 企业网站建设 新闻宣传全世界做会展介绍的网站排名
  • 国外的贸易网站简单设计软件
  • 做网站时怎样把文字放在中间有网站如何做直播
  • 淄博网站制作网页营销wordpress 小人
  • 珠海手机网站建设公司有做外贸的平台网站吗
  • 青岛网站关键字优化泉州seo网站排名
  • 电子产品玩具东莞网站建设怎么给网站设置关键字
  • 静态网站中怎么做图片切换国外工会网站建设
  • 网站开发环境构建网站构建建设制作平台
  • 贵阳网站建设app开发数码商城网站建设
  • 网站开发 占位符做柜子喜欢上哪些网站看
  • 广东网站建设微信商城开发wordpress 摘要标签
  • 建设虚拟网站沈阳网站制作聚艺科技
  • 网站建设计东莞现代建设有限公司
  • 网站开发如何设置视频阿里巴巴国际贸易网
  • 聊城手机网站建设公司PS做图标兼职网站
  • 网站宝二级域名怎么设置2020最成功的网络营销
  • 美的网站建设大连网站开发建站
  • o2o网站设计公司湖南英文网站建设
  • 上海十大网站建wordpress log文件
  • 通州网站网站建设在线包车网站建设
  • 广州网站建设功能网站是做推广好还是优化好
  • 军工企业专业网站建设方案盈润企业网站管理系统
  • 上海建设网站网页设计欣赏
  • 网站建设行业市场分析html5 网站正在建设中
  • 做网站什么最重要做兼职用哪个网站好
  • 网络优化推广 网站开发建设图片网站 建站
  • 江门网站seo优化wordpress 阅读
  • 网站建设机构做彩票网站需要学习什么
  • 慧谷网站开发文档像饿了码的网站建站有吗