VUE動態(tài)綁定class類的三種常用方式及適用場景詳解
更新時間:2025年01月16日 10:53:04 作者:zhangXiaoWei001
文章介紹了在實際開發(fā)中動態(tài)綁定class的三種常見情況及其解決方案,包括根據(jù)不同的返回值渲染不同的class樣式、給模塊添加基礎(chǔ)樣式以及根據(jù)設(shè)計確定是否使用多個樣式
前言
在實際開發(fā)中,我們會經(jīng)常遇到動態(tài)綁定class的情況,常見的情況可能有:
- 根據(jù)不同的返回值渲染不同的class樣式(也就是兩個及兩個以上的動態(tài)class選擇使用);
- UI在設(shè)計時對于某個模塊的樣式?jīng)]有確定下來的時候我們?nèi)戇@個模塊(給了基礎(chǔ)樣式);
- UI在設(shè)計對于某個模塊的樣式有很多樣子,但不確定用是否全部使用時(給了基礎(chǔ)樣式)。
針對這三種常見的情況我們在寫頁面樣式時可已選擇這三種常見的動態(tài)加載calss的方法。
1.動態(tài)選擇class樣式(對象添加:情景一)
<template> <div> <div class="basic" :class="classObj">選擇添加樣式</div> <div style="display: flex; flex-direction: column;"> <button style="width: 200px;" @click="chooseClass">選擇添加cs_class1類</button> <button class="btn" @click="chooseClass3">選擇添加cs_class3類</button> </div> </div> </template> <script> export default{ data() { return { classObj:{ cs_class1:false, cs_class3:false, }, } }, methods:{ chooseClass(){ this.classObj.cs_class1=true this.classObj.cs_class3=false }, chooseClass3(){ this.classObj.cs_class1=false this.classObj.cs_class3=true } } } </script> <style> .basic{ display: flex; align-items: center; justify-content: center; background: pink; width: 200px; height: 100px; } .btn{ width: 200px; margin-bottom: 20px; } .box_rudis{ border-radius: 30px; } .cs_class1{ color: red; } .cs_class2{ border:2px solid #0000FF } .cs_class3{ background: yellow; } </style>
2.動態(tài)添加一個class樣式(字符串添加:情景二)
<template> <div> <div class="basic" :class="boxrudius">添加一個動態(tài)樣式</div> </div> </template> <script> export default{ data() { return { boxrudius:'box_rudis', } }, } </script> <style> .basic{ display: flex; align-items: center; justify-content: center; background: pink; width: 200px; height: 100px; } .box_rudis{ border-radius: 30px; } </style>
3.動態(tài)添加多個class樣式(數(shù)組添加:情景三)
<template> <div> <div class="basic" :class="classArr">添加多個動態(tài)樣式</div> <button class="btn" @click="addClassArr">動態(tài)添加多個class類</button> </div> </template> <script> export default{ data() { return { classArr:[], } }, methods:{ addClassArr(){ this.classArr=['cs_class1','cs_class2','cs_class3'] }, } } </script> <style> .basic{ display: flex; align-items: center; justify-content: center; background: pink; width: 200px; height: 100px; } .btn{ width: 200px; margin-bottom: 20px; } .box_rudis{ border-radius: 30px; } .cs_class1{ color: red; } .cs_class2{ border:2px solid #0000FF } .cs_class3{ background: yellow; } </style>
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue單頁應(yīng)用在頁面刷新時保留狀態(tài)數(shù)據(jù)的方法
今天小編就為大家分享一篇vue單頁應(yīng)用在頁面刷新時保留狀態(tài)數(shù)據(jù)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09Vuex的插件vuex-persistedstate數(shù)據(jù)持久化存儲操作
這篇文章主要介紹了Vuex的插件vuex-persistedstate數(shù)據(jù)持久化存儲操作,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2023-12-12VueQuillEditor富文本上傳圖片(非base64)
這篇文章主要介紹了VueQuillEditor富文本上傳圖片(非base64),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-06-06關(guān)于在vue中實現(xiàn)過渡動畫的代碼示例
Vue是一款流行的前端框架,支持過渡動畫的實現(xiàn)是其中的一項重要特性,在Vue中,使用過渡動畫可以為用戶提供更加友好的用戶體驗,下面我將為大家介紹一下子如何在Vue中實現(xiàn)過渡動畫,需要的朋友可以參考下2023-06-06ant desing vue table 實現(xiàn)可伸縮列的完整例子
最近在使用ant-design-vue做表格時,遇到要做一個可伸縮列表格的需求,在網(wǎng)上一直沒有找到好的方法,于是小編動手自己寫個可以此功能,下面小編把ant desing vue table 可伸縮列的實現(xiàn)代碼分享到腳本之家平臺供大家參考2021-05-05