您好,登錄后才能下訂單哦!
前言
既然我們選擇了vue,那么在做東西時就不要想著去操作dom,所有的都交給vue來解決。
下面來說一個很簡單但是很常用的效果,可能人人都會用到這樣的需求
請看下圖
導航欄的樣式切換功能,如果我們使用jquery之類的東西來寫,可能要寫好多代碼,那么我們用vue呢,
代碼如下
html
附上vue中style與class綁定API
<div id="wrap" class="box"> <div v-for="(list,index) in navLists" class="nav" :class="{ red:changeRed == index}" @click="reds(index)">{{list.text}}</div> </div>
css
*{ padding: 0;margin: 0; } .box{ height: 40px; background: cyan; } .nav{ line-height: 40px; display: inline-block; margin-left: 100px; cursor: pointer; } .red{ color: red; } //前提是必須引入vuejs哦! var vm = new Vue({ el:"#wrap", data:{ navLists:[ { "text":"首頁" }, { "text":"組件" }, { "text":"API" }, { "text":"我們" } ], changeRed:0 }, methods:{ reds:function(index){ this.changeRed = index; } } });
仔細看看我們的js代碼除了模擬的數據其實就只有一個簡單的邏輯處理,比起之前的各種操作dom省了好多事。
ps:vue 動態樣式的解決方法
:class="{active: isActive}"
這個就沒什么好說的了,但是在類名有'-'號的時候回報錯,
還有一種
class="[lineStyle(courseClick)]" lineStyle(isClick){ if (isClick===true){ return 'tab-items-current' }else { return 'class-tab-items' } }
總結
以上所述是小編給大家介紹的vue實現樣式之間的切換及vue動態樣式的實現方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。