最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue動(dòng)態(tài)樣式方法實(shí)例總結(jié)

 更新時(shí)間:2023年02月07日 09:52:01   作者:SuperYiY  
在vue項(xiàng)目中,很多場(chǎng)景要求我們動(dòng)態(tài)改變?cè)氐臉邮?下面這篇文章主要給大家介紹了關(guān)于Vue動(dòng)態(tài)樣式方法的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

前言

本文主要針對(duì) Vue2.x 來展開vue的動(dòng)態(tài)css樣式方法歸納。
如果親愛的讀者們需要,后續(xù)會(huì)更新Vue3的動(dòng)態(tài)樣式方法或者使用TypeScript來實(shí)現(xiàn)。
CSS動(dòng)態(tài)樣式 一般用于設(shè)置某個(gè)字段根據(jù)狀態(tài)顯示不同的樣式。
比如 字段A,平時(shí)返回0,正常顯示字段黑色;返回1時(shí),顯示異常,文字顏色為紅色

Vue動(dòng)態(tài)樣式實(shí)現(xiàn)方式

  • :style 動(dòng)態(tài)設(shè)置style行內(nèi)樣式,優(yōu)先級(jí)最高
  • :class 動(dòng)態(tài)設(shè)置class類名
  • method:{} 調(diào)用方法return返回
  • v-if/v-else + 復(fù)合類名

:style

// 1、三元表達(dá)式  對(duì)象形式
<div class="name" :style="{color:state == true ? 'red' : 'black'}">麻辣香鍋</div>
<div class="name" :style="state == true ? 'color:red' : 'color:black'">麻辣牛鍋</div>
// 2、直接對(duì)象形式  
<div class="name" :style="{fontSize:`${size}px`}">麻辣火鍋</div>
// 3、數(shù)組形式
<div class="name" :style="[styleObj1,styleObj2]">麻辣香鍋</div>
// 4、復(fù)合型
<div class="name" :style="[{color:state ? 'red' : 'black'},styleObj2]">麻辣香鍋</div>
// 4、調(diào)用方法形式
<div class="name" :style="setStyle()">麻辣雞煲</div>
export default {
	data(){
    	return{
            state:1,
            size:14,
            Obj1:{
                color:red
            },
            Obj2:{
                fontSize:12px
            }
        }
	},
    method:{
        setStyle(){
            let obj = {
                color:'red',
                fontSize:'14px'
            }
            return obj
        }
    }
}
<style>
  .name{
    color:yellow;
    font-size:12px;
  }
</style>

注意:

  • HTML上調(diào)用的所有東西,最好是該vue實(shí)例的data、method、watch、computed等本身的變量和函數(shù),一般不要直接調(diào)用外部的函數(shù),比如是工具類untils的方法,有需要可以在data中新建變量綁定在HTML上,在data方法或其他方式去調(diào)用。
  • js的樣式屬性名注意用駝峰命名法,比如font-size —— fontSize

:class

// 1、三元表達(dá)式,對(duì)象/數(shù)組形式,單個(gè)條件
<div class="name" :class="{'success-text':state == true}">廣式煲仔飯</div>
<div :class="['name', state == true ? 'success' : '']">廣式煲仔飯</div>
// 相當(dāng)于
<div class="name" :class="state == true ? 'success-text : ''">廣式煲仔飯</div>

// 2、對(duì)象形式,多個(gè)條件
<div class="name" :class="{'success-text':state == true,'success-text2':state2 == true}">廣式煲仔飯</div>

// 3、data形式或者computed形式   (缺點(diǎn)就是類名一定只能是一個(gè)單詞)
<div class="name" :class="classObject">廣式煲仔飯</div>
<div class="name" :class="classObject_cp">廣式煲仔飯</div>

// 4、mothod方法
<div class="name" :class="setClass()">廣式煲仔飯</div>
<button @click="state = state ? false : true">改變state狀態(tài)</button>

export default {
  data () {
    return {
      state:true,
      state2:true,
      styleObj1:{
        color:'red'
      },
      styleObj2:{
        fontSize:'14px'
      },
      classObject:{
        success_text:true,  // 因?yàn)樽兞棵荒苡?來隔開,所以只能匹配到_或只有一個(gè)單詞的類名
        success_text2:true
      }
    }
  },
  computed:{
    classObject_cp:function(){
      return{
        success:this.state,
        success2:this.state2
      }
    }
  },
  methods: {
    setClass(){
      return {
        success_text:this.state,
        success_text2:this.state2
      }
    },
    changeState(){
      this.state = this.state ? false : true
    }
  }
}
<style>
  .name{
    color:yellow;
    font-size:12px;
  }
  .error-text{
    color:red;
  }
  .success-text{
    color:greenyellow;
  }
  .success-text2{
    font-size:16px;
    font-weight: 600;
  }
  .success{
    color:greenyellow;
  }
  .success2{
    font-size:16px;
    font-weight: 600;
  }
</style>

:class 目標(biāo)就是通過判斷找到對(duì)應(yīng)的css類名

方法3或4,注意類名只能是單個(gè)單詞或_連接等,此外的,都不行,因?yàn)閖s變量名是以單個(gè)單詞組成的。

比如這里success-text,變量無法表達(dá)出來,就算了駝峰命名也不行,因?yàn)閟uccessText是類名,不像:style行內(nèi)式,是作為css屬性名。

:style優(yōu)先級(jí)高,無需考慮本標(biāo)簽元素class的屬性,因?yàn)橐欢〞?huì)被style相同的屬性所覆蓋;

v-if/v-else + 復(fù)合類名

        <div class="father">
          <div class="child success-text">child</div>
          <div class="child">
            <div v-if="state == true" class="success-text">child</div>
            <div v-else-if="state == false" class="error-text">child</div>
            <div v-else>--</div>  
          </div>
          <div class="child">child</div>
        </div>

    <style>
        .father{
            color:black
        }
        .child{
            fotn-size:16px
        }
        .success-text:{
            color:green
        }
        .error-text{
            color:red
        }
    </style>

結(jié)尾

到此這篇關(guān)于Vue動(dòng)態(tài)樣式方法的文章就介紹到這了,更多相關(guān)Vue動(dòng)態(tài)樣式方法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 利用vue3+threejs仿iView官網(wǎng)大波浪特效實(shí)例

    利用vue3+threejs仿iView官網(wǎng)大波浪特效實(shí)例

    最近好幾個(gè)vue項(xiàng)目都是用ivew作為UI框架,所以下面這篇文章主要給大家介紹了關(guān)于如何利用vue3?+?threejs仿iView官網(wǎng)大波浪特效的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-12-12
  • vue3?setup語法糖下父組件如何調(diào)用子組件

    vue3?setup語法糖下父組件如何調(diào)用子組件

    這篇文章主要介紹了vue3?setup語法糖下父組件如何調(diào)用子組件問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Electron+vue從零開始打造一個(gè)本地播放器的方法示例

    Electron+vue從零開始打造一個(gè)本地播放器的方法示例

    這篇文章主要介紹了Electron+vue從零開始打造一個(gè)本地播放器的方法示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • vue實(shí)現(xiàn)子路由調(diào)用父路由的方法

    vue實(shí)現(xiàn)子路由調(diào)用父路由的方法

    這篇文章主要介紹了vue實(shí)現(xiàn)子路由調(diào)用父路由的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • Vue中如何使用Map鍵值對(duì)傳參詳析

    Vue中如何使用Map鍵值對(duì)傳參詳析

    最近在做一個(gè)vue的項(xiàng)目,碰到一點(diǎn)關(guān)于Map鍵值對(duì)傳參的問題,下面這篇文章主要給大家介紹了關(guān)于Vue中如何使用Map鍵值對(duì)傳參的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • Vue3處理模板和渲染函數(shù)的示例代碼

    Vue3處理模板和渲染函數(shù)的示例代碼

    Vue.js是一個(gè)流行的前端框架,以其易于學(xué)習(xí)和使用而聞名,在Vue3中,借助于Composition API和新的setup語法糖,模板和渲染函數(shù)的使用變得更加靈活和強(qiáng)大,在這篇博客中,我們將深入探討Vue3是如何處理模板和渲染函數(shù)的,并通過示例代碼來展示如何有效利用這些功能
    2024-11-11
  • Vue制作Todo List網(wǎng)頁(yè)

    Vue制作Todo List網(wǎng)頁(yè)

    這篇文章主要為大家詳細(xì)介紹了Vue制作Todo List網(wǎng)頁(yè)的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • Vue 頁(yè)面狀態(tài)保持頁(yè)面間數(shù)據(jù)傳輸?shù)囊环N方法(推薦)

    Vue 頁(yè)面狀態(tài)保持頁(yè)面間數(shù)據(jù)傳輸?shù)囊环N方法(推薦)

    vue router給我們提供了兩種頁(yè)面間傳遞參數(shù)的方式,一種是動(dòng)態(tài)路由匹配,一種是編程式導(dǎo)航,接下來通過本文給大家介紹Vue 頁(yè)面狀態(tài)保持頁(yè)面間數(shù)據(jù)傳輸?shù)囊环N方法,需要的朋友可以參考下
    2018-11-11
  • vue+element實(shí)現(xiàn)表單校驗(yàn)功能

    vue+element實(shí)現(xiàn)表單校驗(yàn)功能

    這篇文章主要介紹了vue+element表單校驗(yàn)功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-05-05
  • Vue分頁(yè)器組件使用方法詳解

    Vue分頁(yè)器組件使用方法詳解

    這篇文章主要為大家詳細(xì)介紹了Vue分頁(yè)器組件的使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03

最新評(píng)論

天全县| 卓尼县| 交城县| 江达县| 达孜县| 巨野县| 连山| 黑水县| 屏边| 丹棱县| 四子王旗| 和田市| 南木林县| 荆州市| 双柏县| 沧州市| 仙居县| 桂阳县| 理塘县| 巫山县| 社旗县| 东阳市| 卫辉市| 松原市| 奈曼旗| 搜索| 南安市| 江永县| 闸北区| 中阳县| 荥经县| 凉山| 航空| 永寿县| 临桂县| 明水县| 聂拉木县| 罗源县| 佛冈县| 岢岚县| 寿光市|