您好,登錄后才能下訂單哦!
小編給大家分享一下如何利用vue.js實現被選中狀態,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
Vue是一款友好的、多用途且高性能的JavaScript框架,使用vue可以創建可維護性和可測試性更強的代碼庫,Vue允許可以將一個網頁分割成可復用的組件,每個組件都包含屬于自己的HTML、CSS、JavaScript,以用來渲染網頁中相應的地方,所以越來越多的前端開發者使用vue。
在使用原型實現使不選中狀態改變之后,接觸到vue,就想著能不能使用vue再把功能實現一邊,在上篇中的頁面并沒有動態實現頁面,所有的數據也都是直接寫在html中。而使用vue之后,已經能夠實現頁面根據數據的多少動態生成。而且代碼量也大幅度減少。
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>
數據代碼:
var datas = { todos :[ { groupheader : 'MB3101', groupbody:[ { text: '調整不當'}, { text: '光電開關損壞' }, { text: '鏡面積灰' }, { text: '調整不當' }, { text: '光電開關損壞' }, { text: '鏡面積灰' }, { text: '調整不當' }, { text: '光電開關損壞' }, { text: '鏡面積灰' }, ] }, { groupheader : 'MB3102', groupbody:[ { text: '調整不當' }, { text: '光電開關損壞' }, { text: '鏡面積灰' }, { text: '調整不當' }, { text: '光電開關損壞' }, { text: '鏡面積灰' }, { text: '調整不當' }, { text: '光電開關損壞' }, { text: '鏡面積灰' }, ] }, { groupheader : 'MB3103', groupbody:[ { text: '調整不當' }, { text: '光電開關損壞' }, { text: '鏡面積灰' }, { text: '調整不當' }, { text: '光電開關損壞' }, { text: '鏡面積灰' }, { text: '調整不當' }, { text: '光電開關損壞' }, { text: '鏡面積灰' }, ] } ] }
js部分的代碼:
new Vue({ el: '#app', data:datas, methods:{ exchange:function(event){ //獲取被點擊的元素對象 var a = event.target; //獲取被點擊元素中的子元素<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實現被選中狀態”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。