日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

vue中v-for循環選中點擊的元素并對該元素添加樣式操作

瀏覽:54日期:2023-01-06 13:34:39

相信大家都會遇到這種情況:v-for循環時,我只需要點擊到的元素做出相應反應,其他的元素不變;但是往往所有v-for循環出的元素都會變化。如下面的代碼:我需要點擊到的元素添加一個類樣式,其他元素不變,但是這樣會導致所有的元素都會變化

html:

<div v-for = '(item,index) in items' :class = ’addclass:isactive’ @click=’onclick()’> <span>{{item.name}}</span></div>

css:

.addclass{ color : red;}

js:

data:{ items :[ { name :’apple’, price: ’5$’ }, { name:’banana’, price:'3$' }, { name:’pear’, price:’4$’ } ], isactive : false}onclick(){ this.isactive = true}

解決方法:使用index索引,當點擊一個元素時,將該元素的index索引賦給類樣式的啟用變量,如果該變量和index相等時,則啟用該類樣式

html:

<div v-for = '(item,index) in items' : @click=’onclick(index)’> <span>{{item.name}}</span></div>

css:

.addclass{ color : red;}

js:

data:{ items :[ { name :’apple’, price: ’5$’ }, { name:’banana’, price:'3$' }, { name:’pear’, price:’4$’ } ], isactive : -1}onclick(index){ //將點擊的元素的索引賦值給bian變量 this.isactive = index}

補充知識:v-for 遍歷數組點擊動態綁定樣式

這可能是一個對于任何js開發者來說都非常簡單的問題,或者根本談不上被叫做“問題”,“基操”而已。但是,很遺憾,我為此開了個篇幅簡略記錄下它,因為這是我處于前端開發基礎階段數次阻滯過我的問題,以下暫提供一種解決方案,后續可能補充。

這類問題多見于單頁面應用(SPA)中的側邊欄、表格列等,當我曾拿到這個需求時,我以為我能用Vue中介紹的Class動態綁定來解決,事實上的確如此,但我用錯了,請看我錯誤的解決方法:

HTML

<template><!-- 點擊某個綁定樣式 --> <ul> <li v-for='(data, index) in formData' :key='data.id' : @click='currentInfo(data, index)'>name: {{data.name}},age: {{data.age}} </li> </ul></template>

JavaScript

<script>export default { name: ’classActive’ data() { return { isActive: false, // 用來判斷active樣式類是否顯示 formData: [{id: 1,name: ’zhangsan’,age: 20 },{id: 2,name: ’lisi’,age: 21 },{id: 3,name: ’wangwu’,age: 22 } } } methods: { currentInfo(data, index) { if(data.id-1 === index) { // 當前選擇的列表項與列表id號相等則綁定active this.isActive = true; } } }}</script>

Style

<style scoped> li { list-style: none; border: 1px solid #333; } .active { background: light-gray; }</style>

好,于是我興沖沖地切回頁面看效果,結果:

vue中v-for循環選中點擊的元素并對該元素添加樣式操作

當我點擊其中的一行時,結果所有的li都綁上了active樣式,稍微想一下,相信大家都能找到問題所在,所有li的樣式都由一個isActive控制,當我點擊一行,全局變量isActive變為ture,當然所有的li都會綁上啦!然后我就停滯下來,思索一番,想過在data數組各項里插入一個標識用來單獨控制,但被我否決了,一來對象中插入屬性麻煩,二來污染數據源。于是,便有了下面我要說的解決方法:

HTML

<template><!-- 點擊某個綁定樣式 --> <ul> <li v-for='(data, index) in formData' :key='data.id' : @click='currentInfo(index)'>name: {{data.name}},age: {{data.age}} </li> </ul></template>

JavaScript

<script>export default { name: ’classActive’ data() { return { currentNumber: 0, // 用來判斷active樣式類是否顯示 formData: [{id: 1,name: ’zhangsan’,age: 20 },{id: 2,name: ’lisi’,age: 21 },{id: 3,name: ’wangwu’,age: 22 } } } methods: { currentInfo(index) { this.currentNumber = index; }, currentClass(index) { return [this.currentNumber == index ? ’active’ : ’’]; } }}</script>

Style

<style scoped> li { list-style: none; border: 1px solid #333; } .active { background: light-gray; }</style>

這里,我新建一個變量空間存儲當前點擊的列表序號index,這樣不管怎樣點擊,這個currentNumber永遠是唯一的,那么和它相等的數組項也是唯一的,相等即可綁定active樣式了,看效果:

vue中v-for循環選中點擊的元素并對該元素添加樣式操作

好,以上就解決了遍歷數組點擊動態綁定樣式,以后我找到更好的,我會補充,也非常歡迎大家在評論里給出更好的建議。

以上這篇vue中v-for循環選中點擊的元素并對該元素添加樣式操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Vue
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩欧美四区| 奇米亚洲欧美| 高清不卡一区| 精品一区二区三区亚洲| 欧美激情视频一区二区三区在线播放| 日本欧美一区| 日韩有吗在线观看| 777久久精品| 日韩精彩视频在线观看| 日韩精品乱码av一区二区| 亚洲免费婷婷| 亚洲欧美日韩在线观看a三区| 久久大逼视频| 日韩在线观看中文字幕| 欧美日韩一区二区三区在线电影| 欧美日韩1区| 国产精品115| 水蜜桃久久夜色精品一区| 天堂√8在线中文| 欧洲毛片在线视频免费观看| 狠狠爱成人网| 精品视频一二| 麻豆精品久久| 在线免费观看亚洲| 亚洲欧美日韩专区| 国产亚洲高清视频| 精品视频自拍| 九一成人免费视频| 香蕉久久久久久| 日本欧美大码aⅴ在线播放| 欧美精品97| 日韩中文字幕| 精品在线网站观看| 另类av一区二区| 亚洲午夜精品久久久久久app| 精品一区三区| 日韩精品永久网址| 综合国产视频| 欧美亚洲国产精品久久| 91精品亚洲| 视频在线在亚洲| 老司机精品视频在线播放| 99久久精品国产亚洲精品| 久久字幕精品一区| 亚洲天堂av资源在线观看| 日本在线啊啊| 视频二区不卡| 尤物精品在线| 国产精品二区影院| 美女视频免费精品| 日本视频中文字幕一区二区三区| 国内揄拍国内精品久久| 久久亚洲国产| 日韩精品福利一区二区三区| 中文在线不卡| 亚洲ab电影| 国产亚洲电影| 日韩不卡一区二区| 精品三级在线观看视频| 欧美日韩亚洲三区| 欧美一级一区| 蜜臀精品久久久久久蜜臀| 国产精品福利在线观看播放| 视频一区视频二区中文| 欧美久久久网站| 国产精品av一区二区| 蜜臀av性久久久久蜜臀aⅴ四虎| 97成人在线| 日韩av福利| 玖玖精品视频| 99视频精品| 日韩区欧美区| 国语精品一区| 精品一区免费| 在线观看亚洲精品福利片| 精品久久国产一区| 国产精品一区三区在线观看| 中文字幕在线官网| 国产精品社区| 国产精品2区| 美女网站久久| 国产午夜久久av| 超级白嫩亚洲国产第一| 丝袜诱惑制服诱惑色一区在线观看| 国产精品极品在线观看| 蜜桃一区二区三区| 精品午夜久久| 香蕉久久久久久| 精品1区2区3区4区| 特黄毛片在线观看| 国产极品一区| 人人精品久久| 亚洲欧美不卡| 亚洲香蕉网站| а√天堂中文在线资源8| 欧美综合精品| 亚洲欧美日韩国产综合精品二区| 日韩精品欧美| 91日韩欧美| 久久不卡日韩美女| 亚洲aⅴ网站| 午夜在线播放视频欧美| 99热精品久久| 日韩在线综合| zzzwww在线看片免费| 精品一区二区男人吃奶| 国产精品久久久久久久久久妞妞| 日韩一区中文| 亚洲伊人精品酒店| 日韩影院免费视频| 在线亚洲成人| 一区二区视频欧美| 一区免费视频| 日韩一区二区免费看| 天堂网av成人| 日韩欧美精品| 欧美亚洲日本精品| 一区二区三区四区日本视频| 国产精品久久观看| 91综合网人人| 欧美久久天堂| 欧美日韩精品在线一区| 99久精品视频在线观看视频| 欧美 日韩 国产精品免费观看| 久久久久中文| 美女久久久久| 久久高清一区| 香蕉久久一区| 国产欧美日韩在线一区二区| 国产精品日本一区二区三区在线| 欧美在线看片| 麻豆精品新av中文字幕| 国语对白精品一区二区| 岛国精品一区| 精品久久在线| 正在播放日韩精品| 久久亚洲在线| 亚洲一区二区三区四区五区午夜| 亚洲制服少妇| 少妇精品久久久一区二区| 日韩福利视频一区| 国产精品乱战久久久| 久久精品国产99国产精品| 国产精品a久久久久| 久久一区欧美| 亚洲国产成人二区| 久久精品123| 久久成人亚洲| 日韩av不卡一区二区| 欧美国产另类| 91精品国产自产在线观看永久∴ | 中文在线中文资源| av亚洲免费| 亚洲精品国模| 国产精品久久乐| 国产综合色区在线观看| 久久国产人妖系列| 欧美精品1区| 久久婷婷久久| 亚洲视频电影在线| 国产精品啊v在线| 久久97视频| 99久久精品网| 日韩一区二区三区免费视频| 国产精品jk白丝蜜臀av小说| 欧美日韩视频网站| 日韩制服丝袜av| 久久av国产紧身裤| 99久久激情| 日韩高清在线不卡| 国产69精品久久| 午夜久久一区| 日本视频一区二区| 日韩欧美中文| 综合亚洲色图| 精品久久美女| 亚洲欧美日韩国产| 麻豆一区二区三区| 五月婷婷亚洲| 国产精品麻豆成人av电影艾秋| 国产99久久| 国产精品va| 亚洲激情二区| 国产精品色在线网站| 黄色亚洲在线| 久久久久九九精品影院| 精品日韩毛片| 欧美久久一区二区三区| 在线日韩一区| 国产精品欧美一区二区三区不卡| 99久久亚洲精品| 久久99视频| 亚洲午夜免费| 日韩精品专区| **爰片久久毛片| 尤物在线精品| 正在播放日韩精品| 久久国内精品自在自线400部| 日韩欧美一区二区三区免费看| 日韩av二区在线播放|