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

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

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

瀏覽:46日期: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久久,三上悠亚国产精品一区二区三区
亚洲专区一区| а√天堂中文在线资源8| 久久麻豆精品| 欧美福利专区| 亚洲人成在线网站| 美女网站一区| 中文无码日韩欧| 国产欧美69| 国产不卡精品在线| 欧美日韩视频免费观看| 久久影院一区| 久久午夜视频| 日韩欧美美女在线观看| 国产欧美日韩精品一区二区三区| 免费看久久久| av日韩中文| 免播放器亚洲| 国产欧美视频在线| 欧洲av一区二区| 国产偷自视频区视频一区二区| 美国三级日本三级久久99| 日本aⅴ精品一区二区三区 | 黄色av日韩| 婷婷综合电影| 日本蜜桃在线观看视频| 午夜在线精品偷拍| 国产亚洲一区二区三区啪| 日本欧美国产| 水野朝阳av一区二区三区| 青青国产精品| 久久久水蜜桃av免费网站| 免费在线视频一区| 国产日韩高清一区二区三区在线| 国产一区二区三区不卡av| 激情综合自拍| 国产日韩欧美三区| 精品日韩毛片| 国产精品观看| 中文在线不卡| 国产中文在线播放| 日韩欧美2区| 久久理论电影| 国产精品三级| 国产精品日本欧美一区二区三区| 久久不见久久见免费视频7| 99成人在线视频| 日本精品一区二区三区在线观看视频| 久久影院午夜精品| 日本一区二区三区中文字幕| 91av亚洲| 国产精东传媒成人av电影| 日韩视频不卡| 高清精品久久| 91精品日本| 99在线精品免费视频九九视| 国产精品二区不卡| 国产日韩亚洲欧美精品| 在线午夜精品| 日韩和的一区二在线| 免费一区二区三区在线视频| 亚洲精品四区| 欧美在线影院| 日韩中文首页| 国产精久久久| 日韩精品社区| 伊人久久亚洲热| 欧美精选视频一区二区| 久久婷婷国产| 欧美一级全黄| 亚洲一区av| 99亚洲视频| 五月综合激情| 99久久亚洲精品| 国产aa精品| 老司机免费视频一区二区| 日本午夜免费一区二区| 一区二区三区午夜视频| 久久国产中文字幕| 国产一区二区三区四区五区| 国产情侣久久| 国产三级一区| 国产精品一区二区三区www| 日韩不卡一区二区三区| 中文字幕一区二区三区在线视频| 99视频精品| 宅男噜噜噜66国产日韩在线观看| 欧美中文字幕一区二区| 亚洲成人国产| 午夜精品久久久久久久久久蜜桃| 老牛影视精品| 黄毛片在线观看| a国产在线视频| 欧美三区四区| 播放一区二区| 激情五月色综合国产精品| 蜜桃国内精品久久久久软件9| 天堂日韩电影| 激情欧美一区| 9久re热视频在线精品| 亚洲综合丁香| 在线国产精品一区| 亚洲v天堂v手机在线| 亚洲精品免费观看| 啪啪亚洲精品| 久久精品国产99国产精品| 免费在线欧美黄色| 日韩大片免费观看| 午夜av一区| 婷婷综合激情| 免费在线观看一区二区三区| 五月国产精品| 欧美精品影院| 精品国产成人| 成人免费电影网址| 免费视频久久| 欧美一区久久| 里番精品3d一二三区| 国产欧美一区二区三区精品酒店 | 日韩精品中文字幕一区二区| 日本欧美一区二区| 国产精品v日韩精品v欧美精品网站| 国产毛片精品| 国产精品13p| 图片区亚洲欧美小说区| 亚洲精品日韩久久| 国产毛片久久久| 欧美国产小视频| 亚洲成人日韩| 欧美亚洲一区二区三区| 国产一区二区三区久久| 今天的高清视频免费播放成人| 美女久久一区| 国产欧美二区| 欧美va天堂在线| 日韩一区二区三区精品| 久久精品亚洲| 亚洲欧洲午夜| 久久不见久久见中文字幕免费| 久久精品观看| 日韩欧美另类中文字幕| 91亚洲国产成人久久精品| 成人av动漫在线观看| 91精品麻豆| 九九久久婷婷| 欧美精品二区| 午夜久久一区| 久久av日韩| 亚洲欧美激情诱惑| 日韩1区2区| 日韩午夜视频在线| 日韩在线高清| 日韩在线观看中文字幕| 日韩免费小视频| 日韩高清不卡在线| 99精品在线观看| 国产日产一区| 国产亚洲毛片| 人人草在线视频| 日韩福利在线观看| 亚洲第一区色| 久久精品国产久精国产爱| 久久香蕉精品| 日韩一区亚洲二区| 国产精品.xx视频.xxtv| 噜噜噜久久亚洲精品国产品小说| 麻豆中文一区二区| 99国产精品久久久久久久| 国产一区二区三区四区二区| 日韩成人精品一区二区三区| 欧美aa国产视频| 97精品国产| 国产精品亚洲二区| 中文字幕亚洲精品乱码| 久久中文视频| 国产美女高潮在线| 国产精品成人**免费视频| 免费一级片91| 国产一区二区中文| 欧美韩日一区| 蜜桃久久久久| 日韩中文一区二区| 欧美日韩国产传媒| 成人日韩在线观看| 日本一区二区高清不卡| 国产精品久久久久77777丨| 免费成人在线影院| 亚洲精品在线观看91| 久久久久久美女精品| 91中文字幕精品永久在线| 乱一区二区av| 国产精品v一区二区三区| 亚洲精品国产日韩| 丝袜诱惑制服诱惑色一区在线观看 | 免费国产自久久久久三四区久久 | 老司机精品久久| 欧美特黄视频| 激情欧美一区二区三区| 久久高清免费| 四虎影视精品| 欧美一区三区|