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

八個(gè)Vue中常用的v指令詳解

 更新時(shí)間:2022年04月22日 10:26:45   作者:云夢(mèng)歸遙  
vue常用指令有v-once指令、v-show指令、v-if指令、v-else指令、v-else-if指令、v-for指令、v-html指令、v-text指令、v-bind指令、v-on指令、v-model指令等等,下面這篇文章主要給大家介紹了八個(gè)Vue中常用的v指令的相關(guān)資料,需要的朋友可以參考下

Vue中常用的8種v指令

根據(jù)官網(wǎng)的介紹,指令 是帶有 v- 前綴的特殊屬性。通過(guò)指令來(lái)操作DOM元素

指令功能
v-text=“變量/表達(dá)式”文本的設(shè)置
字符串變量+數(shù)字可以直接寫是拼接
字符串如果出現(xiàn)要使用外部不相同的引號(hào)
v-html=“變量”文本或者頁(yè)面的設(shè)置
如果變量只是普通文本,作用和 v-text 相同
如果變量是一個(gè)完整的標(biāo)簽字符串,則會(huì)解析成為html
v-on:click=“方法名”
@click=“方法名”
綁定方法
可以是無(wú)參方法,也可以是有參方法
v-show=“布爾值變量”標(biāo)簽的顯示和隱藏
根據(jù)布爾值變量的真與假,將標(biāo)簽顯示或隱藏
v-if=“布爾值變量”標(biāo)簽的創(chuàng)建與銷毀
效果與 v-show 相同,但是頻繁操作性能開(kāi)銷很大
v-for="item,index in arr"
v-for=“item in arr”
數(shù)組的循環(huán)遍歷
將數(shù)組中的數(shù)據(jù),索引進(jìn)行遍歷
v-bind:標(biāo)簽屬性=“屬性值”
:標(biāo)簽屬性=“屬性值”
標(biāo)簽屬性的綁定
可以直接修改標(biāo)簽中的屬性值
v-model=“變量值”數(shù)據(jù)雙向綁定
變量值的修改會(huì)影響頁(yè)面顯示,頁(yè)面變化也會(huì)影響變量值

1 v-text 指令

作用:

  • 獲取data數(shù)據(jù), 設(shè)置標(biāo)簽的內(nèi)容,以純文本進(jìn)行顯示
  • v-text 會(huì)覆蓋 標(biāo)簽中的內(nèi)容,如果想要拼接數(shù)據(jù),可以直接在v-text中拼接
    • 如果拼接的是數(shù)字:直接使用 “+”
    • 如果拼接的是字符串,需要使用與外部不同的引號(hào)進(jìn)行包裹內(nèi)容

注意: 默認(rèn)寫法會(huì)替換全部?jī)?nèi)容,使用插值表達(dá)式{{}}可以替換指定內(nèi)容.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="js/vue.min.js"></script>
</head>
<body>
    <div id="app">
        <!-- 第一種.獲取 vue 中定義的數(shù)據(jù),會(huì)將插值表達(dá)式的內(nèi)容與標(biāo)簽中的內(nèi)容進(jìn)行拼接 -->
        <h2>{{msg}}-云夢(mèng)歸遙</h2>
        <!-- 第二種.獲取 vue 中定義的數(shù)據(jù),設(shè)置標(biāo)簽中的內(nèi)容,而且會(huì)覆蓋標(biāo)簽中的內(nèi)容 -->
        <h2 v-text="msg">-云夢(mèng)歸遙</h2>
        <h2 v-text="msg+21"></h2> <!-- v-text 拼接數(shù)字可以直接相加 -->
        <h2 v-text="msg+'-云夢(mèng)歸遙'"></h2> <!-- v-text 拼接字符串需要用不同于外部的單引號(hào)或雙引號(hào) -->
    </div>
</body>
<script>
    var VM = new Vue({
        el: "#app",
        data: {
            msg: "Java 程序員",
        },
    });
</script>
</html>

2 v-html 指令

作用:

可以當(dāng)做 v-text 一樣使用,顯示普通文本

設(shè)置元素的 innerHTML (可以向元素中寫入新的標(biāo)簽)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="js/vue.min.js"></script>
</head>
<body>
    <div id="app">
        <!-- 1.獲取普通文本的三種方式 -->
        <h2>{{msg}}</h2>
        <h2 v-text="msg"></h2>
        <h2 v-html="msg"></h2>
        <hr>
        <!-- 2.v-html 不僅可以當(dāng)做 v-text 使用,更重要的是可以設(shè)置元素的 innerHTML -->
        <h2 v-text="url"></h2> <!-- v-text 直接以文本形式進(jìn)行顯示 -->
        <h2 v-html="url"></h2> <!-- v-html 將會(huì)以定義的標(biāo)簽的形式進(jìn)行顯示 -->
    </div>
</body>
<script>
    var VM = new Vue({
        el: "#app",
        data: {
            msg: "Java程序員",
            url: "<a 
        },
    });
</script>
</html>

3 v-on 指令

作用: 為元素綁定事件, 比如: v-on:click,可以簡(jiǎn)寫為 @click="方法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="js/vue.min.js"></script>
</head>
<body>
    <div id="app">
        <!-- 1.單擊事件 -->
        <!-- 標(biāo)準(zhǔn)書寫的方式 v-on:click="方法名" -->
        <input type="button" value="調(diào)用v-on指令-單擊事件-標(biāo)準(zhǔn)書寫" v-on:click="show"><br>
        <!-- 簡(jiǎn)寫的方式: @click="方法名" -->
        <input type="button" value="調(diào)用v-on指令-單擊事件-簡(jiǎn)寫的方式" @click="show"><br>
        <!-- 2.雙擊事件 -->
        <input type="button" value="雙擊事件" @dblclick="show"><br>
        <hr>
        <!-- 綁定點(diǎn)擊事件,修改標(biāo)簽內(nèi)容 -->
        <h2 @click="changeName">{{msg}}</h2>
        <h2 v-text="msg" @click="changeName"></h2>
        <h2 v-html="msg" @click="changeName"></h2>
    </div>
</body>
<script>
    var VM = new Vue({
        el: "#app",
        data: {
            msg: "Java程序員"
        },
        // 通過(guò) methods 來(lái)定義 v-on 中調(diào)用的方法
        methods: {
            show:function(){
                alert("v-on 指令對(duì)應(yīng)的方法被調(diào)用");
            },
            changeName:function(){
                // 使用 this 獲取 data 中的數(shù)據(jù)
                this.msg += "-云夢(mèng)歸遙";
            },
        },
    });
</script>
</html>

案例:計(jì)數(shù)器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="js/vue.min.js"></script>
    <!-- <link href="css/inputNum.css" rel="external nofollow"  rel="stylesheet"> -->
</head>
<body>
    <div id="app">
        <!-- 計(jì)算功能區(qū)域 -->
        <div>
            <input type="button" @click="addNum" value="+">
            <span>{{num}}</span>
            <input type="button" v-on:click="minusNum" value="-">
        </div>
        <p>{{result}}</p>
    </div>
</body>
<script>
    var VM = new Vue({
        el: "#app",
        data: {
            num: 0,
            result: "當(dāng)前數(shù)值是[ 0 ], 還未執(zhí)行操作"
        },
        methods: {
            addNum: function(){
                this.num += 1;
                this.result = "當(dāng)前數(shù)值是[ " + this.num + " ], 執(zhí)行 +1 操作";
            },
            minusNum: function(){
                this.num -= 1;
                this.result = "當(dāng)前數(shù)值是[ " + this.num + " ], 執(zhí)行 -1 操作";
            },
        },
    });
</script>
</html>

4 v-show 指令

作用: v-show 需要一個(gè) boolean 類型的值,根據(jù)值的變化,進(jìn)行標(biāo)簽的顯示和隱藏

原理:修改 style 的display為 block 或 none,進(jìn)行顯示和隱藏

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="js/vue.min.js"></script>
</head>
<body>
    <div id="app">
        <input type="button" value="圖片顯示/隱藏切換" @click="show"><br>
        <!-- v-show 需要一個(gè) boolean 類型的值,根據(jù)值的變化,進(jìn)行標(biāo)簽的顯示和隱藏 -->
        <img src="img/logo.jpg" v-show="flag" style="width: 300px; height: 300px;">
        <!-- 還可以通過(guò)表達(dá)式的結(jié)果 來(lái)進(jìn)行顯示和隱藏 -->
        <img src="img/logo.jpg" v-show="num > 18" style="width: 300px; height: 300px;">
    </div>
</body>
<script>
    var VM = new Vue({
        el: "#app",
        data: {
            flag: true, // 作為是否顯示圖片的判定值
            num: 21
        },
        methods: {
            show:function(){
                this.flag = !this.flag;
            },
        },
    });
</script>
</html>

5 v-if 指令

作用: 根據(jù)表達(dá)值的真假,切換元素的顯示和隱藏( 操縱dom 元素 )

原理:會(huì)操作 DOM 元素,將元素刪除或添加,而不是像 v-show 一樣修改樣式

使用場(chǎng)景:頻繁切換使用 v-show,反之使用 v-if

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="js/vue.min.js"></script>
</head>
<body>
    <div id="app">
        <input type="button" value="v-if切換圖片顯示/隱藏" @click="show"><br>
        <!-- v-if 根據(jù)表達(dá)式的真假判斷顯示 或 隱藏 -->
        <img src="img/logo.jpg" style="width: 300px; height: 300px;" v-if="isShow">
    </div>
</body>
<script>
    var VM = new Vue({
        el: "#app",
        data:{
            isShow: false,
        },
        methods: {
            show: function(){
                this.isShow = !this.isShow;
            },
        },
    });
</script>
</html>

6 v-bind 指令

作用: 設(shè)置元素的屬性 (比如:src,title,class,style傳遞json串)

一次只能修改一個(gè)屬性

  • v-bind:屬性名=“屬性值”
  • :屬性名
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="js/vue.min.js"></script>
</head>
<body>
    <div id="app">
        <!-- 這是原圖片 -->
        <img src="img/logo.jpg" style="width: 300px;height: 300px;" alt="圖片加載失敗">
        <!-- v-bind:src 設(shè)置了一個(gè) 圖片的 屬性 -->
        <img v-bind:src="img1" style="width: 450px; height: 300px;" alt="圖片加載失敗">
        <!-- v-bind:title 設(shè)置了一個(gè)圖片的 標(biāo)題 ,使用 v-bind修改屬性都可以簡(jiǎn)寫為 :屬性名-->
        <img v-bind:src="img2" style="width: 450px;height: 300px;" :title="img2_title" alt="圖片加載失敗">
        <!-- v-bind 設(shè)置 class -->
        <div style="width: 300px; height: 300px; background: green;" :style="{width: size + 'px'}"></div>
    </div>
</body>
<script>
    var VM = new Vue({
        el: "#app",
        data: {
            img1: "img/4.png",
            img2: "img/3.png",
            img2_title: "斗羅大陸-火舞",
            size: 200,
        },
        methods: {
            
        },
    });
</script>
</html>

7 v-for 指令

作用: 根據(jù)數(shù)據(jù)生成列表結(jié)構(gòu),常與數(shù)組一起使用,進(jìn)行遍歷操作

  • v-for="item,index in arr1"
  • v-for="person in persons"

相關(guān)方法:

  • push():將元素追加進(jìn)入數(shù)組
  • shift():將數(shù)組的起始元素刪除

數(shù)組的長(zhǎng)度變化,會(huì)同步更新到頁(yè)面上,是響應(yīng)式的

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="js/vue.min.js"></script>
</head>
<body>
    <div id="app">
        <ul>
            <!-- v-for:在 li 標(biāo)簽中進(jìn)行獲取數(shù)組元素,進(jìn)行展示 -->
            <!-- item: 循環(huán)得到的元素;index:獲取元素在數(shù)組中的下標(biāo) -->
            <li v-for="item,index in arr1">
                第{{index + 1}}個(gè)同學(xué): {{item}}
            </li>
        </ul>
        <hr>
        <input type="button" value="添加數(shù)據(jù)" @click="addData">
        <input type="button" value="移除數(shù)據(jù)" @click="removeData">
        <!-- v-for 遍歷,展示數(shù)據(jù) -->
        <h2 v-for="person in persons">
            我是 {{person.name}}, 我今年 {{person.age}} 歲.
        </h2>
    </div>
</body>
<script>
    var VM = new Vue({
        el: "#app",
        data: {
            // 數(shù)組
            arr1: ["Mike", "John", "Jack"],
            // 對(duì)象數(shù)組
            persons: [
                {name: "Mike", age: 21},
                {name: "John", age: 22},
                {name: "Jack", age: 23},
            ],
        },
        methods: {
            addData: function(){
                // 向數(shù)組中添加元素
                this.persons.push({name: "Peter", age: 24});
            },
            removeData: function(){
                // 移除數(shù)組中的元素,會(huì)移除第一個(gè)元素
                this.persons.shift();
            },
        },
    });
</script>
</html>

8 v-on 補(bǔ)充

作用:

  • 可以向函數(shù)傳遞參數(shù)
  • 事件修飾符,可以制定哪些方式觸發(fā)事件,比如說(shuō)按鍵,回車等
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="js/vue.min.js"></script>
</head>
<body>
    <div id="app">
        <!-- v-on:綁定函數(shù),可以進(jìn)行傳參 -->
        <input type="button" value="禮物刷起來(lái)" @click="show(3, '穿云箭')"><br>
        <span style="color: green;">向主播狂刷{{num}}個(gè)</span>
        <span style="color: red;">{{gift}}</span>
        <hr>
        <!-- v-on:事件修飾符 指定哪些方式觸發(fā)事件,比如說(shuō) 按鍵,回車等等 -->
        <input type="text" @keyup="up" placeholder="一輸入內(nèi)容就會(huì)彈窗"><br>
        <input type="text" @keyup.enter="up" placeholder="輸入回車才會(huì)彈窗"><br>
    </div>
</body>
<script>
    var VM = new Vue({
        el: "#app",
        data: {
            num: 1,
            gift: "一個(gè)魚丸",
        },
        methods: {
            show:function(p1, p2){
                this.num = p1;
                this.gift = p2;
            },
            up:function(){
                alert("hello world");
            },
        },
    });
</script>
</html>

總結(jié)

到此這篇關(guān)于八個(gè)Vue中常用的v指令詳解的文章就介紹到這了,更多相關(guān)Vue常用v指令內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue.js中的下載和調(diào)用方式

    Vue.js中的下載和調(diào)用方式

    這篇文章主要介紹了Vue.js中的下載和調(diào)用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • 詳解Vue中使用插槽(slot)、聚類插槽

    詳解Vue中使用插槽(slot)、聚類插槽

    這篇文章主要介紹了Vue中使用插槽(slot)、聚類插槽,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • el-menu遞歸實(shí)現(xiàn)多級(jí)菜單組件的示例

    el-menu遞歸實(shí)現(xiàn)多級(jí)菜單組件的示例

    本文主要介紹了el-menu使用遞歸組件實(shí)現(xiàn)多級(jí)菜單組件,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • vue3項(xiàng)目中封裝axios的示例代碼

    vue3項(xiàng)目中封裝axios的示例代碼

    這篇文章主要介紹了vue3項(xiàng)目中封裝axios的示例代碼,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-12-12
  • vue3-pinia-ts項(xiàng)目中的使用示例詳解

    vue3-pinia-ts項(xiàng)目中的使用示例詳解

    這篇文章主要介紹了vue3-pinia-ts項(xiàng)目中的使用,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • el-date-picker 選擇日期范圍只保存左側(cè)日期面板的實(shí)現(xiàn)代碼

    el-date-picker 選擇日期范圍只保存左側(cè)日期面板的實(shí)現(xiàn)代碼

    接到這樣的需求,日期篩選,但限制只能選擇同一個(gè)月的數(shù)據(jù),故此應(yīng)該去掉右側(cè)月份面板,今天通過(guò)本文給大家分享el-date-picker 選擇日期范圍只保存左側(cè)日期面板的實(shí)現(xiàn)代碼,感興趣的朋友一起看看吧
    2024-06-06
  • Vue純前端實(shí)現(xiàn)導(dǎo)出Excel并修改樣式

    Vue純前端實(shí)現(xiàn)導(dǎo)出Excel并修改樣式

    這篇文章主要為大家詳細(xì)介紹了Vue如何利用xlsx-style庫(kù)實(shí)現(xiàn)導(dǎo)出Excel并修改樣式的功能,文中的示例代碼講解詳細(xì),有需要的可以參考下
    2024-01-01
  • 使用Vue和React分別實(shí)現(xiàn)錨點(diǎn)定位功能

    使用Vue和React分別實(shí)現(xiàn)錨點(diǎn)定位功能

    這篇文章主要為大家詳細(xì)介紹了如何使用Vue和React分別實(shí)現(xiàn)錨點(diǎn)定位功能,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,有需要的小伙伴可以學(xué)習(xí)一下
    2024-01-01
  • 關(guān)于ElementUI的el-upload組件二次封裝的問(wèn)題

    關(guān)于ElementUI的el-upload組件二次封裝的問(wèn)題

    這篇文章主要介紹了關(guān)于ElementUI的el-upload組件二次封裝的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • vue封裝form表單組件拒絕重復(fù)寫form表單

    vue封裝form表單組件拒絕重復(fù)寫form表單

    這篇文章主要為大家介紹了vue封裝form表單組件拒絕重復(fù)寫form表單的實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07

最新評(píng)論

西安市| 陕西省| 基隆市| 桂平市| 建始县| 衢州市| 合川市| 博乐市| 沙田区| 界首市| 凤翔县| 开平市| 大田县| 常宁市| 定兴县| 白城市| 哈尔滨市| 丹阳市| 自贡市| 宿迁市| 香港 | 崇文区| 平山县| 嫩江县| 泉州市| 东丽区| 巴楚县| 灌阳县| 濮阳市| 漠河县| 平凉市| 仙游县| 温泉县| 抚松县| 岳普湖县| 平陆县| 香港 | 南溪县| 曲阜市| 龙南县| 都匀市|