第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

關(guān)于和后端對(duì)接數(shù)據(jù),空值判斷的問題

關(guān)于和后端對(duì)接數(shù)據(jù),空值判斷的問題

慕斯王 2019-03-07 14:49:43
大家在拿到后端的數(shù)據(jù),要綁到頁面上的時(shí)候,空值判斷一般是怎么處理的?比如說前端要一個(gè)List,Array類型,但后端沒查到,你想著會(huì)給你個(gè)[],但就給你返回個(gè)null,這就導(dǎo)致前端取length的時(shí)候就報(bào)錯(cuò)了,難道每次都要寫if判斷嗎?if (res.list !== null) {    this.list = res.list;}請(qǐng)問有什么干凈效率的辦法?
查看完整描述

8 回答

?
aluckdog

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超7個(gè)贊

跟后端說,不許返回null。他不干就揍他,你要是打不過,就乖乖加判斷


查看完整回答
1 反對(duì) 回復(fù) 2019-03-15
?
慕的地8271018

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊

假如后端返回res對(duì)象,res.body希望是個(gè)數(shù)組,但是實(shí)際返回一個(gè)null


那么在不考慮深復(fù)制淺復(fù)制問題的前提下


let newArray = res.body || []


console.log(newArray.length)

這樣至少可以保證不會(huì)得到null


查看完整回答
反對(duì) 回復(fù) 2019-03-15
?
qq_笑_17

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超7個(gè)贊

可以寫成這樣,this.list = res.list || []。


查看完整回答
反對(duì) 回復(fù) 2019-03-15
?
交互式愛情

TA貢獻(xiàn)1712條經(jīng)驗(yàn) 獲得超3個(gè)贊

有一種能比這種有效率一點(diǎn),三目運(yùn)算符,還加了一個(gè)空值的顯示。{{ list!=null?list:"-" }}
或者說如果都沒數(shù)據(jù),就不顯示這部分,那么可以<template v-if="list!=null?true:false">你的內(nèi)容</template>

查看完整回答
反對(duì) 回復(fù) 2019-03-15
?
四季花海

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超5個(gè)贊

后端輸出json類型數(shù)據(jù),前端js把json字符串解析為js對(duì)象(JSON.parse()),若是空,那不就自動(dòng)獲取到了[]或{},我是這樣認(rèn)為的


查看完整回答
反對(duì) 回復(fù) 2019-03-15
?
慕蓋茨4494581

TA貢獻(xiàn)1850條經(jīng)驗(yàn) 獲得超11個(gè)贊

//我是這么寫的

//數(shù)組 前者可判斷為null,后者為[]

if( !res.list || res.list.length == 0 ) return;

.... //要做的事情

//對(duì)象格式 {"status":0,"data":{"books":null,"total":"0"},"message":""}

if( !res || res.message == false) return;

.... //要做的事情  

 


查看完整回答
反對(duì) 回復(fù) 2019-03-15
?
慕村9548890

TA貢獻(xiàn)1884條經(jīng)驗(yàn) 獲得超4個(gè)贊

需要根據(jù)業(yè)務(wù)邏輯來確定再向下走下去不正交(也就是會(huì)對(duì)其他地方有影響)那么立即阻止,否則就像你說的,只是單純的數(shù)據(jù)類型變化了,可以根據(jù)場(chǎng)景自己寫個(gè)util嘛,接6大數(shù)據(jù)類型,根據(jù)數(shù)據(jù)格式的不同還可以擴(kuò)展(比如blob類型等等), validateDataType(String,var,(err)=>{}) 如果是多層嵌套判斷值的存在, throw Error || callback 都可以呀,推薦使用類似 loadsh 里面的get解決,.

永遠(yuǎn)記住一個(gè)道理,不經(jīng)過抽象的代碼就像一盤散沙,積累的越多,到時(shí)候你收拾的越麻煩。。千萬不能每個(gè)地方寫if


查看完整回答
反對(duì) 回復(fù) 2019-03-15
  • 8 回答
  • 0 關(guān)注
  • 1214 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)