91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

怎么理解Vue中的模板語法插值和指令

發布時間:2021-11-18 09:02:39 來源:億速云 閱讀:174 作者:iii 欄目:編程語言

本篇內容主要講解“怎么理解Vue中的模板語法插值和指令”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么理解Vue中的模板語法插值和指令”吧!

怎么理解Vue中的模板語法插值和指令

Vue有很多模板語法特別好用,就是在HTML中寫一些Vue定義的一些模板語法,可以快速的展現數據,綁定方法等。這也就是Vue上手很快的原因之一。

1. 模板的理解

我們先來理解理解什么是模板?

模板就是動態html頁面,這里面包含了一些js語法代碼

Vue的模板語法分為兩種,分別是:

  • 【插值語法】雙大括號表達式 (“Mustache”語法)【一個】

  • 【指令語法】指令(以v-開頭的自定義標簽屬性)【很多】

1、插值語法:

  • 功能:用于解析標簽體內容,向頁面輸出數據

  • 寫法:{{xxx}},xxx是js表達式,且可以直接讀取到data中的所有屬性,可以調用對象的方法

  • 備注:里面寫js表達式:有返回值的js代碼,而不是js語句

2、指令語法:

  • 功能:用于解析標簽(包括:標簽屬性、標簽體內容、綁定事件.....)

  • 舉例:v-bind:href="xxx" 或  簡寫為 :href="xxx",xxx同樣要寫js表達式,且可以直接讀取到data中的所有屬性

  • 備注:Vue中有很多的指令,且形式都是:v-????


下面我們來介紹幾個常用的指令語法。

2. 指令語法:強制數據綁定 v-bind:

功能:指定變化的屬性值

完整寫法

v-bind:xxx='yyy'  // yyy會作為表達式解析執行

簡潔寫法

:xxx='yyy'

單向數據綁定

  • 語法:v-bind:href ="xxx" 或簡寫為 :href ="xxx"

  • 特點:數據只能從 data 流向頁面

雙向數據綁定 指令 v-model

  • 語法:v-mode:value="xxx" 或簡寫為 v-model="xxx"

  • 特點:數據不僅能從 data 流向頁面,還能從頁面流向 data

3. 指令語法:綁定事件監聽 v-on:

功能:綁定指定事件名的回調函數

完整寫法

v-on:click='xxx'
v-on:keyup='xxx(參數)'
v-on:keyup.enter='xxx'

簡潔寫法

@click='xxx'
@keyup='xxx'
@keyup.enter='xxx'

4. v-text與v-html

v-text

  • 作用:向其所在的節點中渲染文本內容。

  • 與插值語法的區別:v-text會替換掉節點中的內容,{{xx}}則不會。

v-html

1、作用:向指定節點中渲染包含html結構的內容。

2、與插值語法的區別:

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

  • (2).v-html可以識別html結構。

3、嚴重注意:v-html有安全性問題!!!!

  • (1). 在網站上動態渲染任意HTML是非常危險的,容易導致XSS攻擊。

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

<body>
    <div id='app'>

        <h3>1. 大括號表達式</h3>
        <p>{{msg}}</p>    <!--textContent -->
        <p>{{msg.toUpperCase()}}</p>

        <p v-html="msg"></p> <!--innerHTML -->

        <p v-text="msg"></p> <!--textContent -->
        <p v-text="msg.toUpperCase()"></p>


        <h3>2. 指令一: 強制數據綁定</h3>
        <img src="imgUrl" alt="Vue">  <!--無法顯示圖片,沒有識別成js表達式 -->
        <img v-bind:src="imgUrl" alt="Vue"> <!--屬性值識別成js表達式 -->
        <img :src="imgUrl" alt="Vue">


        <h3>3. 指令二: 綁定事件監聽</h3>
        <button v-on:click="test1">test1</button>
        <button @click="test1">test1</button>
        
        <button @click="test2('abc')">test2</button> <!--可以傳參數 -->
        <button @click="test2(msg)">test2</button>
    </div>



    <script src="../js/vue.js"></script>
    <script>
        new Vue({
            el: '#app',
            data: {
                msg: '<a href="http:www.baidu.com">I Will Back!</a>',
                imgUrl: "https://cn.vuejs.org/images/logo.png"
            },
            methods: {
                test1() {
                    alert('heheh');
                },
                test2(content){
                    alert(content);
                }
            }

        })
    </script>
</body>

怎么理解Vue中的模板語法插值和指令

5. 條件渲染指令

移除標簽刪除

  • v-if

  • v-else

寫法:

  1. v-if="表達式"

  2. v-else-if="表達式"

  3. v-else="表達式"

適用于:切換頻率較低的場景。 特點:不展示的DOM元素直接被移除。 注意:v-if可以和:v-else-if、v-else一起使用,但要求結構不能被“打斷”。

添加樣式隱藏(display: none)

  • v-show

寫法:v-show="表達式"適用于:切換頻率較高的場景。 特點:不展示的DOM元素未被移除,僅僅是使用樣式隱藏掉

【備注】使用v-if的時候,元素可能無法獲取到,而使用v-show一定可以獲取到。

比較v-if與v-show

v-if是控制元素是否加載到頁面上(有性能開銷) v-show是控制元素的顯示與隱藏 (初始創建時加載一次)

  • 如果需要頻繁切換 v-show 較好

  • 當條件不成立時, v-if 的所有子節點不會解析

<body>
    <div id="demo">

        <p v-if="ok">成功了</p> <!-- 移除標簽刪除 -->
        <p v-else>失敗了</p>

        <p v-show="ok">又成功了</p> <!-- 添加樣式隱藏 -->
        <p v-show="!ok">又失敗了</p>

        <button @click="ok = !ok">切換</button>
    </div>

    <script src="../js/vue.js"></script>
    <script>
        new Vue({
            el: '#demo',
            data: {
                ok: false,
            }
        })
    </script>
</body>

怎么理解Vue中的模板語法插值和指令

6. 總結

一些常用的指令

  • v-text : 更新元素的 textContent

  • v-html : 更新元素的 innerHTML

  • v-if : 如果為true, 當前標簽才會輸出到頁面

  • v-else: 如果為false, 當前標簽才會輸出到頁面

  • v-show : 通過控制display樣式來控制顯示/隱藏

  • v-for : 遍歷數組/對象

  • v-on : 綁定事件監聽, 一般簡寫為@

  • v-bind : 強制綁定解析表達式, 可以省略v-bind

  • v-model : 雙向數據綁定

  • ref : 為某個元素注冊一個唯一標識, vue對象通過$refs屬性訪問這個元素對象

  • v-cloak : 使用它防止閃現表達式, 與css配合: [v-cloak] { display: none }

到此,相信大家對“怎么理解Vue中的模板語法插值和指令”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

vue
AI

高安市| 梅河口市| 随州市| 攀枝花市| 潼关县| 六安市| 大城县| 彭水| 广水市| 张家口市| 武夷山市| 金秀| 栖霞市| 班玛县| 南投市| 徐汇区| 平原县| 临桂县| 扶沟县| 浦县| 武鸣县| 登封市| 紫金县| 平南县| 郧西县| 建瓯市| 淮安市| 承德市| 家居| 弥渡县| 弋阳县| 多伦县| 河北区| 仁怀市| 搜索| 宜昌市| 原平市| 大名县| 桂东县| 嵩明县| 北京市|