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

Vue.js中class與style的增強綁定實現(xiàn)方法

 更新時間:2023年04月20日 09:48:29   作者:夏志121  
由于Class和Style綁定使用頻繁,字符串拼接麻煩且易錯,因此,Vue.js 做了專門的增強,表達式結(jié)果的類型除了字符串之外,還可以是對象或數(shù)組,本文給大家講解Vue.js中class與style的增強綁定知識,感興趣的朋友一起看看吧

在web前端應(yīng)用中,操作元素的class列表的內(nèi)聯(lián)樣式style是數(shù)據(jù)綁定style是數(shù)據(jù)綁定的一個常見需求,因為它們都是attribute,所有可以用v-bind處理它們,但若樣式復(fù)雜,則需要書寫長串的樣式代碼,這樣一來,字符串拼接就比較麻煩。因此,在將v-bind用于class和style時,Vue.js做了專門的增強,表達式結(jié)果的類型除了字符串之外,還可以是對象或數(shù)組。

一、v-bind綁定class屬性

若想使用類樣式(即以類名定義元素的樣式,類樣式一般以"."號開頭命令),可以通過v-bind指令綁定class屬性實現(xiàn):

(1)綁定class樣式,字符串寫法

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

    <div id="root">
         <!-- 綁定class樣式,字符串寫法,適用于:樣式的類名不確定,需要動態(tài)指定 -->
        <div class="basic" v-bind:class="moon" @click="doChange">
            {{name}}
        </div>
    </div>
    <script>
        const vm = new Vue({
            el: '#root',
            data: {
                name: "class和style增強綁定",
                moon: "normal"
            },
            methods: {
                doChange() {
                    var arr = ["happy", "sad", "normal"];
                    indexof = Math.floor(Math.random() * 3);
                    this.moon = arr[indexof];
                }
            }
        });
     </script>

css樣式:

        .happy {
            border: 4px solid red;
            background-color: rgba(255, 255, 0, 0.644);
            background: linear-gradient(30deg, yellow, pink, orange);
        }
 
        .sad {
            border: 4px dashed rgb(2, 197, 2);
            background-color: gray;
        }
 
        .normal {
            background-color: skyblue;
        }

執(zhí)行結(jié)果:

(2)綁定class樣式,數(shù)組寫法

適用于:要綁定的樣式個數(shù)不確定,名字也不確定

    <div id="root">
        <!-- 綁定class樣式,數(shù)組寫法,適用于:要綁定的樣式個數(shù)不確定,名字也不確定 -->
        <div class="basic" v-bind:class="classarr">
            {{name}}
        </div>
    </div>
    <script>
        const vm = new Vue({
            el: '#root',
            data: {
                name: "class和style增強綁定",
                classarr: ["text_1", "text_2", "text_3"],
            },
            methods: {
            }
        });
     </script>

css樣式:

        .text_1 {
            background-color: yellowgreen;
        }
 
        .text_2 {
            font-size: 30px;
            text-shadow: 2px 2px 10px red;
        }
 
        .text_3 {
            border-radius: 20px;
        }

執(zhí)行結(jié)果:

(3)綁定class樣式,對象寫法

適用于:要綁定的樣式個數(shù)和名字也確定,需要動態(tài)顯示 

    <div id="root">
        <!-- 綁定class樣式,對象寫法,適用于:要綁定的樣式個數(shù)和名字也確定,需要動態(tài)顯示 -->
        <div class="basic" v-bind:class="classobj">
            {{name}}
        </div>
    </div>
    <script>
        const vm = new Vue({
            el: '#root',
            data: {
                name: "class和style增強綁定",
                classobj: {
                    text_1: false,
                    text_2: true,
                    text_3: false,
                },
            },
            methods: {
            }
        });
     </script>

css樣式:

        .text_1 {
            background-color: yellowgreen;
        }
 
        .text_2 {
            font-size: 30px;
            text-shadow: 2px 2px 10px red;
        }
 
        .text_3 {
            border-radius: 20px;
        }

執(zhí)行結(jié)果:

二、v-bind綁定內(nèi)聯(lián)樣式style

通過內(nèi)聯(lián)(style)綁定給DOM元素示例:

(1)綁定style樣式---對象形式

    <div id="root">
        綁定style樣式----對象形式
        <br><br>
        <div v-bind:style="styleobj" class="basic">
            {{name}}
        </div><br><br>
    </div>
    <script>
        const vm = new Vue({
            el: '#root',
            data: {
                name: "class和style增強綁定",
                styleobj: {
                    width: "300px",
                    height: "100px",
                    border: "1px solid black",
                    fontSize: "40px",
                    backgroundColor: "blue"
                },
            },
            methods: {
            }
        });
     </script>

執(zhí)行結(jié)果:

 (2)綁定style樣式---數(shù)組寫法

    <div id="root">
         綁定style樣式----數(shù)組寫法
        <br><br>
        <div v-bind:style="stylearr" class="basic">
            {{name}}
        </div>
    </div>
    <script>
        const vm = new Vue({
            el: '#root',
            data: {
                name: "class和style增強綁定",
                stylearr: [
                    {width: "300px"},
                    {height: "100px"}, 
                    {border: "1px solid black"},
                    {backgroundColor:"red"},
                    {fontSize:"20px"}
                ],
            },
            methods: {
            }
        });
     </script>

執(zhí)行結(jié)果:

到此這篇關(guān)于Vue.js中class與style的增強綁定的文章就介紹到這了,更多相關(guān)Vue.js class與style綁定內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue3+elementPlus項目支持設(shè)置默認(rèn)附件方式

    vue3+elementPlus項目支持設(shè)置默認(rèn)附件方式

    這篇文章主要介紹了vue3+elementPlus項目支持設(shè)置默認(rèn)附件方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Vue全局注冊與局部注冊兩種組件注冊的方式

    Vue全局注冊與局部注冊兩種組件注冊的方式

    本文主要介紹了Vue全局注冊與局部注冊兩種組件注冊的方式,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • 解決element-ui的table表格控件表頭與內(nèi)容列不對齊問題

    解決element-ui的table表格控件表頭與內(nèi)容列不對齊問題

    這篇文章主要介紹了解決element-ui的table表格控件表頭與內(nèi)容列不對齊問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • vue3中reactive數(shù)據(jù)被重新賦值后無法雙向綁定的解決

    vue3中reactive數(shù)據(jù)被重新賦值后無法雙向綁定的解決

    這篇文章主要介紹了vue3中reactive數(shù)據(jù)被重新賦值后無法雙向綁定的解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Vue常用實例方法示例梳理分析

    Vue常用實例方法示例梳理分析

    在了解vue的常用的實例方法之前,我們應(yīng)該先要了解其常用的實例屬性,你能了解到的vue實例屬性有哪些呢?小編在這里就列舉了幾個常用的vue實例的屬性。大家可以一起參考學(xué)習(xí)一下
    2022-08-08
  • vue-cli 介紹與安裝

    vue-cli 介紹與安裝

    這篇文章主要給大家介紹的是vue-cli 介紹與安裝,vue-cli是和vue進行深度組合的工具,可以快速幫我們創(chuàng)建vue項目,并且把一些腳手架相關(guān)的代碼給我們創(chuàng)建好。真正使用vue開發(fā)項目,都是用vue-cli來創(chuàng)建項目的,下面文章詳細(xì)內(nèi)容,需要的朋友可以參考一下
    2021-10-10
  • vue3+vite+移動端webview打包后頁面加載空白問題解決辦法

    vue3+vite+移動端webview打包后頁面加載空白問題解決辦法

    這篇文章主要給大家介紹了關(guān)于vue3+vite+移動端webview打包后頁面加載空白問題的解決辦法,文中通過代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2024-06-06
  • vue源碼學(xué)習(xí)之Object.defineProperty對象屬性監(jiān)聽

    vue源碼學(xué)習(xí)之Object.defineProperty對象屬性監(jiān)聽

    這篇文章主要介紹了vue源碼學(xué)習(xí)之Object.defineProperty對象屬性監(jiān)聽,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • vue項目中的組件傳值方式

    vue項目中的組件傳值方式

    這篇文章主要介紹了vue項目中的組件傳值方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • vue 導(dǎo)航守衛(wèi)和axios攔截器有哪些區(qū)別

    vue 導(dǎo)航守衛(wèi)和axios攔截器有哪些區(qū)別

    這篇文章主要介紹了vue 導(dǎo)航守衛(wèi)和axios攔截器有哪些區(qū)別,幫助大家更好的理解和使用vue,感興趣的朋友可以了解下
    2020-12-12

最新評論

通城县| 西乡县| 东丰县| 东平县| 灵武市| 五常市| 镶黄旗| 贵南县| 三台县| 高青县| 上高县| 顺义区| 龙口市| 青州市| 常州市| 西乡县| 阿坝| 石嘴山市| 永善县| 正镶白旗| 昌江| 交城县| 彭泽县| 揭阳市| 景洪市| 唐海县| 通化市| 若尔盖县| 双桥区| 濮阳市| 平和县| 卢氏县| 内乡县| 精河县| 塔城市| 磐安县| 新绛县| 长顺县| 永福县| 常州市| 胶州市|