1 回答
TA贡献1877条经验 获得超1个赞
将可选链接与无效合并运算符相结合似乎适合您的情况。
computed() {
isVerified() {
return this.name?.info?.is_valid ?? false;
}
}
如果this.name
、this.name.info
或中的任何一个this.name.info.is_valid
是null
或undefined
,isVerified
则返回false
(布尔值)。否则,它返回 的当前值this.name.info.is_valid
,无论它是什么(包括除null
或 之外的任何错误值undefined
。即:0
, ''
, NaN
)。
请记住,目前以下浏览器列表不支持这两个运算符:
IE浏览器
安卓版火狐浏览器
安卓版歌剧
三星互联网
请注意最新的 Vue 2 ( v2.6.11
) 用法:这两个运算符仅在组件内部工作(方法、计算、钩子等),但如果直接在模板中使用,它们会出错。
尚未在 Vue 3 中进行测试,但我希望它们能够工作(从v3.7开始它们是有效的 TypeScript 运算符)。
对于纯粹主义者来说,这里是输出
function isValid(name) {
return name?.info?.is_valid ?? false;
}
...在巴别塔:
"use strict";
function isValid(name) {
var _name$info$is_valid, _name$info;
return (_name$info$is_valid = name === null || name === void 0
? void 0
: (_name$info = name.info) === null || _name$info === void 0
? void 0
: _name$info.is_valid
) !== null && _name$info$is_valid !== void 0
? _name$info$is_valid
: false;
}
TA贡献2011条经验 获得超2个赞
javascript 在你的前两个变量中是很好的和布尔值,但是你在你的 is_valid 函数中引用了 django 吗?
if (this.name && this.name.info && this.name.info.is_valid) {
return true;
} else {
return false;
}
添加回答
举报