关于appgallery-connect:快应用如何避免读取undefined变量的属性导致报错

26次阅读

共计 515 个字符,预计需要花费 2 分钟才能阅读完成。

景象形容
这是 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>

原文链接:https://developer.huawei.com/…
原作者:Mayism

正文完
 0