1 回答

TA貢獻(xiàn)1877條經(jīng)驗(yàn) 獲得超1個(gè)贊
將可選鏈接與無效合并運(yùn)算符相結(jié)合似乎適合您的情況。
computed() {
? isVerified() {
? ? return this.name?.info?.is_valid ?? false;
? }
}
如果this.name
、this.name.info
或中的任何一個(gè)this.name.info.is_valid
是null
或undefined
,isVerified
則返回false
(布爾值)。否則,它返回 的當(dāng)前值this.name.info.is_valid
,無論它是什么(包括除null
或 之外的任何錯(cuò)誤值undefined
。即:0
,?''
,?NaN
)。
請(qǐng)記住,目前以下瀏覽器列表不支持這兩個(gè)運(yùn)算符:
IE瀏覽器
安卓版火狐瀏覽器
安卓版歌劇
三星互聯(lián)網(wǎng)
請(qǐng)注意最新的 Vue 2 (?v2.6.11
) 用法:這兩個(gè)運(yùn)算符僅在組件內(nèi)部工作(方法、計(jì)算、鉤子等),但如果直接在模板中使用,它們會(huì)出錯(cuò)。
尚未在 Vue 3 中進(jìn)行測(cè)試,但我希望它們能夠工作(從v3.7開始它們是有效的 TypeScript 運(yùn)算符)。
對(duì)于純粹主義者來說,這里是輸出
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貢獻(xiàn)2011條經(jīng)驗(yàn) 獲得超2個(gè)贊
javascript 在你的前兩個(gè)變量中是很好的和布爾值,但是你在你的 is_valid 函數(shù)中引用了 django 嗎?
if (this.name && this.name.info && this.name.info.is_valid) {
return true;
} else {
return false;
}
添加回答
舉報(bào)