快出海  > AppGallery  >  AppGallery Connect:快应用如何避免读取undefined变量的属性导致报错

AppGallery Connect:快应用如何避免读取undefined变量的属性导致报错

作者:Mayism
时间:2021-01-12
这是 JS 开发中常见的错误。对一个值为 null 或 undefined 的变量取属性就会报错。

pexels-pixabay-163064.jpg

现象描述

这是 JS 开发中常见的错误。对一个值为 null 或 undefined 的变量取属性就会报错。例如:

<!-- a = {}; --> 

<text>{{ a.b.c }}</text>

<!-- Error: Cannot read property 'c' of undefined -->

解决方法

1、通过逻辑运算的执行顺序来规避错误。代码如下:

app.ux代码如下:

<text>{{ a && a.b && a.b.c }}</text>

2、 在 ViewModel 上增加函数方法

推荐方案 2,在 ViewModel 上建立一个 checkEmpty 函数。示例代码如下:

export default {

  checkEmpty(...args) {

    let ret

    if (args.length > 0) {

      ret = args.shift()

      let tmp

      while (ret && args.length > 0) {

        tmp = args.shift()

        ret = ret[tmp]

      }

    }

    return ret || false

  }

}

这样,就可以方便的调用了。

<text>{{checkEmpty(a, 'b', 'c')}}</text>

立即登录,阅读全文
版权说明

本文内容来自于华为开发者论坛,本站不拥有所有权,不承担相关法律责任。文章内容系作者个人观点,不代表快出海对观点赞同或支持。如有侵权,请联系管理员(hj@kchuhai.com)删除!

相关文章
华为AGC性能管理的网络分析会话数去哪儿了?
华为AGC性能管理的网络分析会话数去哪儿了?
华为AppGallery Connect的性能管理服务,可以做应用性能的监控与检测,可实时了解应用的性能情况,可以说是非常实用的应用性能管理服务。经过分析对比,我们选用并且集成了该服务。在具体监测与使用的时候,发现提供的分析报告还是非常有用的,特别是ANR分析和网络分析选项。但是在使用网络分析的时候,发现在具体的网络请求中,发现请求数(即下图中的样本数)已经过百了,但是一直没有会话数。
Mayism
1天前
华为应用市场AppGalleryConnect正式推出全新Logo
华为应用市场AppGalleryConnect正式推出全新Logo
AppGallery Connect的Slogan是加载创新源动力(Empowering Creativity),面向全球开发者提供涵盖“创意-开发-分发-运营-分析”的应用全生命周期服务,支持Android、iOS、Web、快应用多个平台。AGC关注开发者的生产和经营,立足于践行应用开发和运营效率的提升,帮助开发者获得用户及收入的规模增长,加速应用创新和商业成功的同时,为全球消费者带来更美好的数字生活体验。
华为开发者学院
4天前
华为快应用支持广告变现,加速商业化进程
华为快应用支持广告变现,加速商业化进程
大部分App经营的主要目的是变现,变现的关键是流量,但App领域经过多年的发展,流量获取并非易事,开发者迫切希望开拓新的流量渠道。近年来,快应用以其开发成本低、即点即用、流量大的特点得到了大量开发者的青睐。
泡泡网
7天前
如何实现快应用多渠道打包
如何实现快应用多渠道打包
以H5快应用为例,我有2个H5 url需要转换成2个不同的H5快应用,每个H5快应用的名称、logo、包名都是不同的,但是我不想创建2个项目,而是在1个项目中完成这两个H5快应用的打包。快应用能否做到呢?是否支持构建不同场景下的rpk包呢?
Mayism
2021-04-08
如何判断快应用是否是运行在华为手机上
如何判断快应用是否是运行在华为手机上
华为快应用有自己单独的运行引擎,但是有些能力华为快应用还不支持,我想在我代码中判断一下,如果是华为手机,就不调用此接口了,有办法做到吗?
市长主义
2021-04-08
扫描关注获取更多 AppGallery 的相关信息
服务商推荐 更多 >
百度国际MediaGo
百度国际MediaGo
百度国际是百度极具战略意义的海外业务发展部门,拥有超过10年的出海经验。旗下出海营销平台MediaGo旨在为全球广告主提供营销整合方案。成立以来,MediaGo不断进化,在磨炼一站式海外营销服务能力的同时,连接Snapchat、Pinterest、Reddit等优质海外平台,成为连接广告主与价值洼地的桥梁。
本地化变现推广
北京易掌云峰科技有限公司
环信即时通讯云
环信,国内领先的即时通讯、在线客服、智能客服机器人提供商。
云服务
iGlobe Advisory Inc.
爱个萝卜本地化 iGlobe
爱个萝卜总部位于加拿大温哥华,为游戏出海提供所有主要语言的母语级本地化翻译,并由专业项目经理为您保驾护航。并可向全球游戏伙伴提供全方位服务,包括目标市场开拓策略,以及各国本地化运营项目监督。
本地化
厦门比朋科技股份有限公司
比朋科技股份
云服务,软件服务,定制开发
云服务外包源码
福建博士通信息有限责任公司
博士通云通讯
福建博士通信息有限责任公司专注于融合短彩信运营、互联网精准投放、语音服务、流量营销、物联网卡等多种专业的通讯能力,为金融、互联网、汽车、物流、教育、游戏、公共服务等多个领域机构提供专业的融合通讯服务和系统平台定制化开发。公司成立于1999年,总部坐落于福州,在北京、上海、深圳、成都、山东等地建立了分公司和办事处。
云服务
北京云中融信网络科技有限公司
融云
融云为全球开发者和企业提供 IM即时通讯和实时音视频通信云服务,独立的海外数据中心,全球 30 万+应用的通信选择。一套 SDK 解决所有通信场景,快速集成,1天实现跨国互动,实时沟通,助力应用出海
云服务
扫码登录
打开扫一扫, 关注公众号后即可登录/注册
加载中
二维码已失效 请重试
刷新
账号登录/注册
小程序
公众号
商务合作
投稿采访
出海管家