快应用如何避免读取undefined变量的属性导致报错
2023-09-11 14:17:17 时间
现象描述
这是 JS 开发中常见的错误。对一个值为 null 或 undefined 的变量取属性就会报错。例如:
1
2
3
|
<!-- a = {}; --> < text >{{ a.b.c }}</ text > <!-- Error: Cannot read property 'c' of undefined --> |
解决方法
1、&& 方法,通过逻辑运算的执行顺序来规避错误。代码如下:
app.ux代码如下:
1
|
< text >{{ a && a.b && a.b.c }}</ text > |
2、 在 ViewModel 上增加函数方法
推荐方案 2,在 ViewModel 上建立一个 checkEmpty 函数。示例代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
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 } } |
这样,就可以方便的调用了。
相关文章
- HTML 全局属性_02
- (《机器学习》完整版系列)第10章 降维与度量学习——10.5 主成分分析的目标求解(“丢掉不重要属性”是错误的)
- 每日一学—Vue prop属性
- 54 python - 类属性、实例属性
- [UWP]依赖属性1:概述
- 【前端学习之HTML&CSS】-- CSS第四篇 -- 层叠、继承与属性值计算
- 【快应用】表单组件的model属性实际运用
- 【快应用】快应用中如何避免读取undefined变量的属性时导致的报错
- MPMoviePlayerController属性方法简介
- android View各属性详解
- install - 复制文件并设置属性
- easy ui window 相关属性
- HTML5新特性:元素的classList属性与应用
- 浅析Object.assign()基本用法(对象合并、同名属性覆盖、仅1个参数时直接返回、target不是对象会转成对象、源对象位置为非对象时不同的处理规则-字符串的特殊情况、拷贝的属性限制)及需要注意的点(浅拷贝、同名属性替换、数组的处理-把索引当属性替换、取值函数先取值再拷贝)和常见应用(给对象添加属性、合并多个对象、给属性设置默认值)
- 【快应用】快应用中如何避免读取undefined变量的属性时导致的报错
- 【快应用】align-self属性设置不生效案例
- MDataTable属性RecordsAffected新应用:WebService与Json交互的记录总数
- [Android] android:visibility属性应用
- Vue.js系列之四计算属性和观察者
- 编写Delphi控件属性Stored和Default的理解及应用