利用vue.js實(shí)現(xiàn)被選中狀態(tài)的改變方法
在使用原型實(shí)現(xiàn)使不選中狀態(tài)改變之后,接觸到vue,就想著能不能使用vue再把功能實(shí)現(xiàn)一邊,在上篇中的頁(yè)面并沒(méi)有動(dòng)態(tài)實(shí)現(xiàn)頁(yè)面,所有的數(shù)據(jù)也都是直接寫(xiě)在html中。而使用vue之后,已經(jīng)能夠?qū)崿F(xiàn)頁(yè)面根據(jù)數(shù)據(jù)的多少動(dòng)態(tài)生成。而且代碼量也大幅度減少。
html部分的代碼:
<div data-role="page " class="page ">
<div class="center " id="app">
<div class="group ">
<ul>
<li v-for = "todo in todos ">
<div class="groupheader ">
<div class="Gheadertext ">{{todo.groupheader}}</div>
</div>
<div class = "groupbody ">
<ul class="list ">
<li v-for="cell in todo.groupbody" v-on:click="exchange($event)" class="groupcell">
<div class="celltext">
{{ cell.text }}
</div>
<img class="selectimg" src="img/select.png ">
</li>
</ul>
</div>
</li>
</ul>
</div>
</div>
</div>
數(shù)據(jù)代碼:
var datas = {
todos :[
{
groupheader : 'MB3101',
groupbody:[
{ text: '調(diào)整不當(dāng)'},
{ text: '光電開(kāi)關(guān)損壞' },
{ text: '鏡面積灰' },
{ text: '調(diào)整不當(dāng)' },
{ text: '光電開(kāi)關(guān)損壞' },
{ text: '鏡面積灰' },
{ text: '調(diào)整不當(dāng)' },
{ text: '光電開(kāi)關(guān)損壞' },
{ text: '鏡面積灰' },
]
},
{
groupheader : 'MB3102',
groupbody:[
{ text: '調(diào)整不當(dāng)' },
{ text: '光電開(kāi)關(guān)損壞' },
{ text: '鏡面積灰' },
{ text: '調(diào)整不當(dāng)' },
{ text: '光電開(kāi)關(guān)損壞' },
{ text: '鏡面積灰' },
{ text: '調(diào)整不當(dāng)' },
{ text: '光電開(kāi)關(guān)損壞' },
{ text: '鏡面積灰' },
]
},
{
groupheader : 'MB3103',
groupbody:[
{ text: '調(diào)整不當(dāng)' },
{ text: '光電開(kāi)關(guān)損壞' },
{ text: '鏡面積灰' },
{ text: '調(diào)整不當(dāng)' },
{ text: '光電開(kāi)關(guān)損壞' },
{ text: '鏡面積灰' },
{ text: '調(diào)整不當(dāng)' },
{ text: '光電開(kāi)關(guān)損壞' },
{ text: '鏡面積灰' },
]
}
]
}
js部分的代碼:
new Vue({
el: '#app',
data:datas,
methods:{
exchange:function(event){
//獲取被點(diǎn)擊的元素對(duì)象
var a = event.target;
//獲取被點(diǎn)擊元素中的子元素<img>
var cellimg = a.getElementsByTagName("img")[0];
if(a.className == "groupcell") {
a.className = "selectcell";
cellimg.style.display = "block";
}
else if(a.className == "selectcell") {
a.className = "groupcell";
cellimg.style.display = "none";
}
}
}
})
效果如圖所示:

以上這篇利用vue.js實(shí)現(xiàn)被選中狀態(tài)的改變方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue之使用echarts圖表setOption多次很卡問(wèn)題及解決
這篇文章主要介紹了vue之使用echarts圖表setOption多次很卡問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07
element ui循環(huán)調(diào)用this.$alert 消息提示只顯示最后一個(gè)
這篇文章主要介紹了element ui循環(huán)調(diào)用this.$alert 消息提示只顯示最后一個(gè),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10
vue實(shí)現(xiàn)標(biāo)簽頁(yè)切換/制作tab組件詳細(xì)教程
在項(xiàng)目開(kāi)發(fā)中需要使用vue實(shí)現(xiàn)tab頁(yè)簽切換功能,所以這里總結(jié)下,這篇文章主要給大家介紹了關(guān)于vue實(shí)現(xiàn)標(biāo)簽頁(yè)切換/制作tab組件的相關(guān)資料,需要的朋友可以參考下2023-11-11
vue項(xiàng)目打包為APP,靜態(tài)資源正常顯示,但API請(qǐng)求不到數(shù)據(jù)的操作
這篇文章主要介紹了vue項(xiàng)目打包為APP,靜態(tài)資源正常顯示,但API請(qǐng)求不到數(shù)據(jù)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-09-09
vue cli 3.x 項(xiàng)目部署到 github pages的方法
這篇文章主要介紹了vue cli 3.x 項(xiàng)目部署到 github pages的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-04-04

