Vue中v-show添加表達(dá)式的問題(判斷是否顯示)
一、需求場(chǎng)景
1、先來說說我的需求,有數(shù)據(jù)來源和標(biāo)簽類型兩行選項(xiàng),如下圖所示:

2、根據(jù)需求,我需要在點(diǎn)擊上面的某個(gè)數(shù)據(jù)來源的時(shí)候,下面的標(biāo)簽類型自動(dòng)切換,
需求說明如下:

3、一開始 是想寫死的,就是把各種情況寫死在頁面上,后來查看官方文檔一會(huì),數(shù)據(jù)來源的集合可以這樣寫,id為各個(gè)類型的標(biāo)識(shí),name為名稱,mark為點(diǎn)擊某個(gè)數(shù)據(jù)來源 的時(shí)候標(biāo)簽類型根據(jù)當(dāng)前點(diǎn)擊的數(shù)據(jù)來源進(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ù)來源包含于當(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ù)來源的各個(gè)名稱中加入一個(gè)點(diǎn)擊事件,data中存入一個(gè)變量infoTypeMark,用于保存點(diǎn)擊的數(shù)據(jù)來源標(biāo)識(shí),我也數(shù)據(jù)來源的代碼貼出來了。
<div v-if="isShowSingleInfoType">
<label class="left-10">數(shù)據(jù)來源</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)是下面這一行代碼,通過在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)頁面
這篇文章主要介紹了vue如何設(shè)置描點(diǎn)跳轉(zhuǎn)到對(duì)應(yīng)頁面問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05
Vue+Openlayer實(shí)現(xiàn)圖形的拖動(dòng)和旋轉(zhuǎn)變形效果
Openlayer具有自己的擴(kuò)展插件ol-ext,可以用來實(shí)現(xiàn)圖形的拖拽、旋轉(zhuǎn)、縮放、拉伸、移動(dòng)等操作,本文將主要介紹通過Openlayer實(shí)現(xiàn)圖形的拖動(dòng)和旋轉(zhuǎn),需要的同學(xué)可以學(xué)習(xí)一下2021-11-11
vue-element的select下拉框賦值實(shí)例
這篇文章主要介紹了vue-element的select下拉框賦值實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03
vue項(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)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。2018-02-02

