vue中巧用三元表達(dá)式解析
如何巧用三元表達(dá)式
一開(kāi)始我并不喜歡閱讀別人的代碼,話說(shuō)程序員最討厭的事:寫(xiě)代碼要寫(xiě)文檔、寫(xiě)代碼要寫(xiě)注釋、別人的代碼沒(méi)有文檔、別人的代碼沒(méi)有注釋。后來(lái)發(fā)現(xiàn)閱讀別人的代碼雖然很枯燥,但是很鍛煉邏輯思維,而且還能學(xué)到很多東西,比如我下面要說(shuō)的這個(gè):
三元表達(dá)式的巧妙使用
在某天(其實(shí)具體是哪天我也忘了),我在閱讀別人的代碼時(shí)發(fā)現(xiàn)一串三元表達(dá)式,感覺(jué)很6,像是打開(kāi)新世界的大門(mén)一樣,頓時(shí)感覺(jué)只有你想不到的,沒(méi)有別人做不到的。真的是活到老學(xué)到死啊。
下面上代碼:
<span
? ? ? v-for="$index in circles"
? ? ? class="circle"
? ? ? :style="{
? ? ? ? backgroundColor: activeIndex == $index ? pagerColor : pagerBgColor,
? ? ? ? opacity:
? ? ? ? ? pagerColor == pagerBgColor
? ? ? ? ? ? ? activeIndex == $index
? ? ? ? ? ? ? ? '1'
? ? ? ? ? ? ? : '0.4'
? ? ? ? ? ? : '1'
? ? ? }"
? ? ? :key="$index"
? ? ></span>這代碼掃一眼看著沒(méi)毛病啊,就是遍歷渲染數(shù)據(jù),但是其中三元表達(dá)式的使用真的是6到飛起??赡苡行┐罄幸豢?,有點(diǎn)鄙視我,“垃圾,就一個(gè)三元表達(dá)式,大驚小怪”,但是我是頭一次看到這么寫(xiě)的。其實(shí)好多東西不是不會(huì)寫(xiě),而是想不到。就像這個(gè)三元表達(dá)式,讓誰(shuí)寫(xiě)誰(shuí)都能寫(xiě)出來(lái),但是就是想不到可以這么寫(xiě)。這也是閱讀別人代碼的一個(gè)好處,可以學(xué)到一些騷操作,讓自己少寫(xiě)代碼,提高工作效率。
回頭再說(shuō)這個(gè)三元表達(dá)式,我們正常使用三元表達(dá)式是這樣的:
表達(dá)式 (expr1) ? (expr2) : (expr3)
在 expr1 求值為 TRUE 時(shí)的值為 expr2,在 expr1 求值為 FALSE 時(shí)的值為 expr3。
而上面代碼中把表達(dá)式中的值又設(shè)為一個(gè)表達(dá)式,滿足條件的時(shí)候執(zhí)行表達(dá)式再次判斷求值,將三元表達(dá)式寫(xiě)成了類似于if判斷的東西,減少了代碼量而且還增加更加容易讀懂
:class=“ “的三元表達(dá)式寫(xiě)法

<div class="stepbar"> <div class="stepbar-first"></div> <div class="stepbar-first-line"></div> <div v-if="item.applyState===5" class="stepbar-gray"></div> <div v-else :class="item.applyState===1?'stepbar-red':'stepbar-first'"></div> <div v-if="item.applyState!==1&&item.applyState!==5" class="stepbar-first-line"></div> <div v-if="item.applyState!==1&&item.applyState!==4&&item.applyState!==5" :class="item.applyState===2&&item.applyState!==3?'stepbar-red':'stepbar-first'"></div> <div v-if="item.applyState===4" class="stepbar-gray"></div> </div>
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
解決Vue使用swiper動(dòng)態(tài)加載數(shù)據(jù),動(dòng)態(tài)輪播數(shù)據(jù)顯示白屏的問(wèn)題
今天小編就為大家分享一篇解決Vue使用swiper動(dòng)態(tài)加載數(shù)據(jù),動(dòng)態(tài)輪播數(shù)據(jù)顯示白屏的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-09-09
vue2使用?element表格展開(kāi)功能渲染子表格的方式
這篇文章主要介紹了vue2使用?element表格展開(kāi)功能渲染子表格的方式,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2024-01-01
vue上傳文件formData入?yún)榭?接口請(qǐng)求500的解決
這篇文章主要介紹了vue上傳文件formData入?yún)榭?接口請(qǐng)求500的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06
vue指令?v-bind的使用和注意需要注意的點(diǎn)
這篇文章主要給大家分享了?v-bind的使用和注意需要注意的點(diǎn),下面文章圍繞?v-bind指令的相關(guān)資料展開(kāi)內(nèi)容且附上詳細(xì)代碼?需要的小伙伴可以參考一下,希望對(duì)大家有所幫助2021-11-11
vue.js+Echarts開(kāi)發(fā)圖表放大縮小功能實(shí)例
本篇文章主要介紹了vue.js+Echarts開(kāi)發(fā)圖表放大縮小功能實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
vue - props 聲明數(shù)組和對(duì)象操作
這篇文章主要介紹了vue - props 聲明數(shù)組和對(duì)象操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07
對(duì)vue下點(diǎn)擊事件傳參和不傳參的區(qū)別詳解
今天小編就為大家分享一篇對(duì)vue下點(diǎn)擊事件傳參和不傳參的區(qū)別詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-09-09
Vue+Microapp實(shí)現(xiàn)微前端的示例詳解
這篇文章主要為大家詳細(xì)介紹了如何實(shí)現(xiàn)以vite+vue3+Microapp為主應(yīng)用,以vue2+element為子應(yīng)用的微前端,感興趣的小伙伴快跟隨小編一起學(xué)習(xí)一下吧2023-06-06

