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;
}
添加回答
舉報