欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用Vue綁定class和style樣式的幾種寫法總結(jié)

 更新時間:2023年07月17日 09:47:46   作者:小花皮豬  
這篇文章主要介紹了使用Vue綁定class和style樣式的幾種寫法,文章通過代碼示例介紹的非常詳細(xì),具有一定的參考價值,需要的朋友可以參考下

綁定class樣式

首先寫一個簡單的class樣式,和一個div容器方便調(diào)試 這些class樣式簡單說下用途:basic是最基本的樣式,我們可以配合另外一個class樣式使用,也就是happy,sad,normal這三個其中一個配合使用,hello1,hello2,hello3這三個樣式我們可以一起使用

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>初始vue</title>
    <style>
        .basic{
           width: 300px;
           height: 100px;
           border: 1px solid black;
        }
        .happy{
            border:4px solid red;
            background-color: rgba(255, 255, 0, 0.644);
            background: linear-gradient(30deg,yellow,pink,orange,yellow);
        }
        .sad{
            border:4px solid cyan;
            background-color: rgba(12, 23, 0, 0.644);
            background: linear-gradient(30deg,rgb(178, 60, 5),rgb(168, 72, 88),rgb(155, 47, 146),rgb(114, 40, 40));
        }
        .normal{
            border:4px solid rgba(12, 107, 107, 0.608);
            background-color: rgba(12, 23, 0, 0.644);
            background: linear-gradient(30deg,rgb(178, 60, 5),rgb(121, 142, 38),rgb(157, 67, 150),rgb(239, 169, 169));
        }
        .hello1{
            background-color: orchid
        }
        .hello2{
            font-size: 40px;
        }
        .hello3{
            color:red
        }
    </style>
    <!-- 引入vue.js -->
    <script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>
    <div id="root">
       <div>test</div>
    </div> 
    <script type="text/javascript">
    </script>
</body>
</html>

在頁面上給元素增加class樣式

不同的樣式配置效果也是不同的

三個hello樣式一起使用,效果就更豐富

由于basic樣式是最基本的,所以我們可以直接把它寫上,完善下代碼

現(xiàn)在提出需求:這個div有兩個樣式方案,一開始div的class樣式是basic和normal,如果點(diǎn)擊div則換成basic和happy

錯誤演示:使用demo操作,如果我們親自使用demo獲取對象,那么就違背了vue的設(shè)計(jì),雖然可以實(shí)現(xiàn)效果,但是這種方式是不可取的

我們分析需求,其實(shí)不變的是basic,改變的是normal,所以我們可以把class樣式定義一個屬性,通過單擊事件去切換樣式

字符串寫法

特點(diǎn):適用于樣式的類名不確定,需要動態(tài)指定

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>初始vue</title>
    <style>
        .basic{
           width: 300px;
           height: 100px;
           border: 1px solid black;
        }
        .happy{
            border:4px solid red;
            background-color: rgba(255, 255, 0, 0.644);
            background: linear-gradient(30deg,yellow,pink,orange,yellow);
        }
        .sad{
            border:4px solid cyan;
            background-color: rgba(12, 23, 0, 0.644);
            background: linear-gradient(30deg,rgb(178, 60, 5),rgb(168, 72, 88),rgb(155, 47, 146),rgb(114, 40, 40));
        }
        .normal{
            border:4px solid rgba(12, 107, 107, 0.608);
            background-color: rgba(12, 23, 0, 0.644);
            background: linear-gradient(30deg,rgb(178, 60, 5),rgb(121, 142, 38),rgb(157, 67, 150),rgb(239, 169, 169));
        }
        .hello1{
            background-color: orchid
        }
        .hello2{
            font-size: 40px;
        }
        .hello3{
            color:red
        }
    </style>
    <!-- 引入vue.js -->
    <script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>
    <div id="root">
        <!-- 綁定class樣式 --字符串寫法,適用于樣式的類名不確定,需要動態(tài)指定 -->
       <div class="basic " :class="mood"  @click="changeMood">{{name}}</div>
    </div>    
</body>
<script type="text/javascript">
    new Vue({
        el:'#root',
        data:{
            name:'vue',
            mood:'normal'
        },
        methods: {
            changeMood(){
                // 獲取div改變class樣式
                this.mood='happy'
            }
        },
    })
</script>
</html>

現(xiàn)在又有一個需求,就是點(diǎn)擊div隨機(jī)切換class樣式

我們可以把多個樣式定義成一個數(shù)組,隨機(jī)使用下標(biāo)作為樣式

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>初始vue</title>
    <style>
        .basic{
           width: 300px;
           height: 100px;
           border: 1px solid black;
        }
        .happy{
            border:4px solid red;
            background-color: rgba(255, 255, 0, 0.644);
            background: linear-gradient(30deg,yellow,pink,orange,yellow);
        }
        .sad{
            border:4px solid cyan;
            background-color: rgba(12, 23, 0, 0.644);
            background: linear-gradient(30deg,rgb(178, 60, 5),rgb(168, 72, 88),rgb(155, 47, 146),rgb(114, 40, 40));
        }
        .normal{
            border:4px solid rgba(12, 107, 107, 0.608);
            background-color: rgba(12, 23, 0, 0.644);
            background: linear-gradient(30deg,rgb(178, 60, 5),rgb(121, 142, 38),rgb(157, 67, 150),rgb(239, 169, 169));
        }
        .hello1{
            background-color: orchid
        }
        .hello2{
            font-size: 40px;
        }
        .hello3{
            color:red
        }
    </style>
    <!-- 引入vue.js -->
    <script type="text/javascript" src="../js/vue.js"></script>
</head>
<body>
    <div id="root">
        <!-- 綁定class樣式 --字符串寫法,適用于樣式的類名不確定,需要動態(tài)指定 -->
       <div class="basic " :class="mood"  @click="changeMood">{{name}}</div>
    </div>    
</body>
<script type="text/javascript">
    new Vue({
        el:'#root',
        data:{
            name:'vue',
            mood:'normal'
        },
        methods: {
            changeMood(){
                // 獲取div改變class樣式
                const arr=['happy','sad','normal']
                const index=Math.floor(Math.random()*3)
                this.mood=arr[index]
            }
        },
    })
</script>
</html>

點(diǎn)擊div就會隨機(jī)切換圖片

數(shù)組寫法

特點(diǎn):適用于要綁定的樣式個數(shù)不確定,名字也不確定 現(xiàn)在又有一個需求,新增一個div,基本樣式還是basic,這個div樣式可能有多個 可以把多個class定義成一個數(shù)組

可以通過vue管理工具切換動態(tài)刪除新增樣式

對象寫法

特點(diǎn):適用于要綁定的樣式個數(shù)確定,名字也確定,但是用動態(tài)決定用不用 又提出一個新的需求:新增一個div,這個div可以使用的樣式可以是同時hello1,hello2,也可以是只有hello1,或者只有hello2,或者兩個樣式一個也沒有 這種情況我們可以把需要用到的樣式定義成一個對象

我們可以點(diǎn)擊復(fù)選框切換屬性或者手動輸入切換

綁定style樣式

樣式的綁定不僅僅有class選擇器,還有行內(nèi)style樣式

<div class="basic" :style="{fontSize:fSize+'px'}">{{name}}</div><br><br>

但是這樣太單調(diào)了,通常我們是把多個是style樣式放在一個對象里面

style的對象寫法

注意:如果key是一個單詞就正常寫即可,如果是多個單詞,需要遵循駝峰寫法。比如font-size要寫成fontSize

由vue管理的屬性,可以自由切換值

style的數(shù)組寫法

style也可以使用數(shù)組寫法,只是這種寫法寫的比較少

總結(jié)

綁定樣式: 1 class樣式 寫法:class='xxx' xxx可以是字符串,對象,數(shù)組 字符串寫法適用于:類名不確定,要動態(tài)獲取 對象寫法適用于:要綁定多個樣式,個數(shù)不確定,名字也不確定 數(shù)組寫法適用于:要綁定多個樣式,個數(shù)確定,名字也確定,但不確定用不用 2 style樣式 :style="fontSize:xxx",其中xxx是動態(tài)值,fontSzie=font-size,如果只有一個單詞正常寫即可,如果多個需要使用駝峰命名 :style="[a,b]",其中a,b是樣式對象

以上就是使用Vue綁定class和style樣式的幾種寫法總結(jié)的詳細(xì)內(nèi)容,更多關(guān)于使用Vue綁定class和style的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 淺談Vue頁面級緩存解決方案feb-alive(上)

    淺談Vue頁面級緩存解決方案feb-alive(上)

    這篇文章主要介紹了淺談Vue頁面級緩存解決方案feb-alive(上),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • vue3整合springboot打完整jar包

    vue3整合springboot打完整jar包

    本文主要介紹了vue3整合springboot打完整jar包,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-09-09
  • vue 實(shí)現(xiàn)左右拖拽元素并且不超過他的父元素的寬度

    vue 實(shí)現(xiàn)左右拖拽元素并且不超過他的父元素的寬度

    這篇文章主要介紹了vue 實(shí)現(xiàn)左右拖拽元素并且不超過他的父元素的寬度,需要的朋友可以參考下
    2018-11-11
  • vue2.0 如何在hash模式下實(shí)現(xiàn)微信分享

    vue2.0 如何在hash模式下實(shí)現(xiàn)微信分享

    這篇文章主要介紹了vue2.0 如何在hash模式下實(shí)現(xiàn)微信分享,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • 解決Vue動態(tài)加載本地圖片問題

    解決Vue動態(tài)加載本地圖片問題

    這篇文章主要介紹了Vue如何動態(tài)加載本地圖片的相關(guān)知識,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-10-10
  • vue實(shí)現(xiàn)列表無縫動態(tài)滾動

    vue實(shí)現(xiàn)列表無縫動態(tài)滾動

    要想實(shí)現(xiàn)列表的動態(tài)無縫滾動,本文為大家推薦兩款組件,vue-seamless-scroll和vue3-seamless-scroll,組件的用法也非常簡單,下面就跟隨小編一起來學(xué)習(xí)一下吧
    2024-11-11
  • Vue 2.0的數(shù)據(jù)依賴實(shí)現(xiàn)原理代碼簡析

    Vue 2.0的數(shù)據(jù)依賴實(shí)現(xiàn)原理代碼簡析

    本篇文章主要介紹了Vue 2.0的數(shù)據(jù)依賴實(shí)現(xiàn)原理代碼簡析,主要從初始化的數(shù)據(jù)層面上分析了Vue是如何管理依賴來到達(dá)數(shù)據(jù)的動態(tài)響應(yīng),有興趣的可以了解一下
    2017-07-07
  • vue中render函數(shù)和h函數(shù)以及jsx的使用方式

    vue中render函數(shù)和h函數(shù)以及jsx的使用方式

    這篇文章主要介紹了vue中render函數(shù)和h函數(shù)以及jsx的使用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • Vue?非常實(shí)用的自定義指令分享

    Vue?非常實(shí)用的自定義指令分享

    這篇文章主要介紹了Vue?非常實(shí)用的自定義指令分享,Vue自定義指令有全局注冊和局部注冊兩種方式,在?Vue,除了核心功能默認(rèn)內(nèi)置的指令?(?v-model?和?v-show?),Vue?也允許注冊自定義指令,下文小編給大家分享那些常用到的Vue自定義指令
    2022-02-02
  • vue2.0 自定義日期時間過濾器

    vue2.0 自定義日期時間過濾器

    本文給大家?guī)韮煞N方法實(shí)現(xiàn)vue2.0 自定義日期時間過濾器,需要的的朋友參考下吧
    2017-06-06

最新評論