Vue中v-show添加表達(dá)式的問題(判斷是否顯示)
一、需求場(chǎng)景
1、先來(lái)說(shuō)說(shuō)我的需求,有數(shù)據(jù)來(lái)源和標(biāo)簽類型兩行選項(xiàng),如下圖所示:
2、根據(jù)需求,我需要在點(diǎn)擊上面的某個(gè)數(shù)據(jù)來(lái)源的時(shí)候,下面的標(biāo)簽類型自動(dòng)切換,
需求說(shuō)明如下:
3、一開始 是想寫死的,就是把各種情況寫死在頁(yè)面上,后來(lái)查看官方文檔一會(huì),數(shù)據(jù)來(lái)源的集合可以這樣寫,id為各個(gè)類型的標(biāo)識(shí),name為名稱,mark為點(diǎn)擊某個(gè)數(shù)據(jù)來(lái)源 的時(shí)候標(biāo)簽類型根據(jù)當(dāng)前點(diǎn)擊的數(shù)據(jù)來(lái)源進(jìn)行判斷切換。如下圖:
infoTypeList: [ { id: 11, name: '新聞', mark: 'news' }, { id: 13, name: '論壇', mark: 'bbs' }, { id: 17, name: '微博', mark: 'wb' }, { id: 6, name: '微信', mark: 'wx' }, { id: 7, name: 'APP', mark: 'app' }, { id: 8, name: '平媒', mark: 'pm' }, { id: 20, name: '境外', mark: 'overseas' }, { id: 21, name: 'Facebook', mark: 'facebook' }, { id: 22, name: 'Twitter', mark: 'twitter' } ],
4、然后標(biāo)簽類型集合數(shù)據(jù)結(jié)構(gòu)如下,其中mark字段存放哪些數(shù)據(jù)來(lái)源包含于當(dāng)前標(biāo)簽。
markTypeList: [ { id: 32, name: '主帖', mark: 'bbs' }, { id: 33, name: '回帖', mark: 'bbs' }, { id: 34, name: '原創(chuàng)', mark: 'wb' }, { id: 35, name: '轉(zhuǎn)發(fā)', mark: 'wb_wx' }, { id: 36, name: '頭條', mark: 'news_app_wx_pm' }, { id: 37, name: '頭圖', mark: 'app' }, { id: 38, name: '置頂', mark: 'app' }, { id: 39, name: '要聞', mark: 'news' }, { id: 40, name: '頭版', mark: 'pm' }, ],
5、在數(shù)據(jù)來(lái)源的各個(gè)名稱中加入一個(gè)點(diǎn)擊事件,data中存入一個(gè)變量infoTypeMark,用于保存點(diǎn)擊的數(shù)據(jù)來(lái)源標(biāo)識(shí),我也數(shù)據(jù)來(lái)源的代碼貼出來(lái)了。
<div v-if="isShowSingleInfoType"> <label class="left-10">數(shù)據(jù)來(lái)源</label> <span class="info-type activecolor" @click="changeInfoType(-1)">全部</span> <span class="info-type" @click="changeInfoType(item.id, item.mark)" v-for="item in infoTypeList" :key="item.id">{{item.name}}</span> <label class="multichoose"> <Button @click="toggleInfoType" size="small">+多選</Button> </label> </div>
6、重點(diǎn)是下面這一行代碼,通過(guò)在v-show中添加表達(dá)式,用于判斷點(diǎn)擊新聞,應(yīng)該顯示頭條和要聞,主要看標(biāo)紅的那塊,代碼如下:
<div class="layout-content-main"> <label class="left-10">
標(biāo)簽類型
</label> <span class="mark-type activecolor" @click="changeMarkType(-1)">全部</span> <span v-show="item.mark.indexOf(infoTypeMark) > -1" class="mark-type" @click="changeMarkType(item.id)" v-for="item in markTypeList" :key="item.id">{{item.name}}</span> </div>
總結(jié)
以上所述是小編給大家介紹的Vue中v-show添加表達(dá)式的問題(判斷是否顯示),希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
vue如何設(shè)置描點(diǎn)跳轉(zhuǎn)到對(duì)應(yīng)頁(yè)面
這篇文章主要介紹了vue如何設(shè)置描點(diǎn)跳轉(zhuǎn)到對(duì)應(yīng)頁(yè)面問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05Vue+Openlayer實(shí)現(xiàn)圖形的拖動(dòng)和旋轉(zhuǎn)變形效果
Openlayer具有自己的擴(kuò)展插件ol-ext,可以用來(lái)實(shí)現(xiàn)圖形的拖拽、旋轉(zhuǎn)、縮放、拉伸、移動(dòng)等操作,本文將主要介紹通過(guò)Openlayer實(shí)現(xiàn)圖形的拖動(dòng)和旋轉(zhuǎn),需要的同學(xué)可以學(xué)習(xí)一下2021-11-11vue-element的select下拉框賦值實(shí)例
這篇文章主要介紹了vue-element的select下拉框賦值實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03vue項(xiàng)目中仿element-ui彈框效果的實(shí)例代碼
這篇文章主要介紹了vue項(xiàng)目中仿element-ui彈框效果的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-04-04利用angular、react和vue實(shí)現(xiàn)相同的面試題組件
eact 和angular,vue 這三個(gè)框架最近都比較火,下面這篇文章主要給大家介紹了關(guān)于利用angular、react和vue實(shí)現(xiàn)相同的面試題組件的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。2018-02-02