1-3 vue指令 v-once

vue指令 v-once

Vue中常用的指令(Directives)

  • Vue指令 : 帶特殊前綴的 HTML 特性,可以讓 Vue.js 對(duì)一個(gè) DOM 元素做各種處理。比如:<div v-text="message"></div>;這里的 div 元素有一個(gè) v-text 指令,其值為 message;Vue.js 會(huì)讓該 div 的文本內(nèi)容與 Vue 實(shí)例中的 message 屬性值保持一致。

  • Directives 可以封裝任何 DOM 操作。比如 v-attr 會(huì)操作一個(gè)元素的特性;v-repeat 會(huì)基于數(shù)組來復(fù)制一個(gè)元素;v-on會(huì)綁定事件等。

  • Vue.js提供了不少常用的內(nèi)置指令,接下來我們快速搞定它們,這對(duì)我們接下來的開發(fā)幫助很大。主要有:

    v-once指令

    v-if指令

    v-show指令

    v-else指令

    v-for指令

    v-on指令

    v-bind指令

    如果需要了解其它指令,可以進(jìn)入官網(wǎng): Vue.js指令


1.v-once

  • <strong>v-once指令</strong>:只渲染元素和組件一次, 這可以用優(yōu)化更新性能. 執(zhí)行一次性地插值,當(dāng)數(shù)據(jù)改變時(shí),插值處的內(nèi)容不會(huì)更新。
<body>

<div id="app">
    <h2>{{message}}</h2>
    <!--
    v-once : 只渲染元素和組件一次, 這可以用優(yōu)化更新性能
    執(zhí)行一次性插值指令,當(dāng)改變數(shù)據(jù)時(shí),插值處的內(nèi)容不會(huì)更新
    -->
    <h2 v-once>{{message}}</h2>
</div>

</body>
<script src="js/vue.js"></script>
<script>
    var vm = new Vue({
        el:"#app",
        data:{
            message:'明天sk也是一樣的666!'
        }
    })
</script>

2.v-if

  • <strong>v-if指令</strong> 條件渲染指令,根據(jù)表達(dá)式的真假來添加或刪除元素。

    • 其語法結(jié)構(gòu)是:v-if="expression",其中expression是一個(gè)返回bool值的表達(dá)式,其結(jié)果可以是true或false,也可以是返回true或false的表達(dá)式。

    • 代碼如下:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>v-if</title>
    </head>
    <body>
       <div id="app">
           <p v-if="show">顯示!</p>
           <p v-if="hide">不顯示!</p>
           <p v-if="height >= 1.6">身高:{{height}}米</p>
           <p v-if="name == '小碼哥教育'">名稱:{{name}}</p>
       </div>
    </body>
    <script src="js/vue.js"></script>
    <script>
        var app = new Vue({
            el: '#app',
            data: {
                show: true,
                hide: false,
                height: 1.70,
                name: '小碼哥教育'
            }
        })
    </script>
    </html>
    
    • 我們也可以打開控制臺(tái),做出如下輸入,進(jìn)一步體會(huì)數(shù)據(jù)驅(qū)動(dòng)思想:
vuea8.png
  • 元素渲染情況:
vuea9.png

在上述案例中,Vue.js進(jìn)行數(shù)據(jù)綁定也完全支持JavaScript表達(dá)式支持,這些表達(dá)式會(huì)在Vue實(shí)例的數(shù)據(jù)作用域下作為JavaScript被解析。

 {{ number + 1 }}
 {{ ok ? 'YES' : 'NO' }}
 {{ message.split('').reverse().join('') }}
 <div v-bind:id="'list-' + id"></div>

有個(gè)限制就是,每個(gè)綁定都只能包含單個(gè)表達(dá)式,以下則不會(huì)生效:

<!-- 這是語句,不是表達(dá)式 -->
{{ var a = 1 }}
<!-- 流控制也不會(huì)生效,請(qǐng)使用三元表達(dá)式 -->
{{ if (ok) { return message } }}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 這篇筆記主要包含 Vue 2 不同于 Vue 1 或者特有的內(nèi)容,還有我對(duì)于 Vue 1.0 印象不深的內(nèi)容。關(guān)于...
    云之外閱讀 5,175評(píng)論 0 29
  • 1.安裝 可以簡單地在頁面引入Vue.js作為獨(dú)立版本,Vue即被注冊(cè)為全局變量,可以在頁面使用了。 如果希望搭建...
    Awey閱讀 11,296評(píng)論 4 129
  • Vue 實(shí)例 屬性和方法 每個(gè) Vue 實(shí)例都會(huì)代理其 data 對(duì)象里所有的屬性:var data = { a:...
    云之外閱讀 2,369評(píng)論 0 6
  • 下載安裝搭建環(huán)境 可以選npm安裝,或者簡單下載一個(gè)開發(fā)版的vue.js文件 瀏覽器打開加載有vue的文檔時(shí),控制...
    冥冥2017閱讀 6,197評(píng)論 0 42
  • “如一個(gè)孤身落入茫茫大海的人一般,在哭聲中,一點(diǎn)一點(diǎn)磨滅了內(nèi)心的求生希望,空洞的靈魂中只剩下那可怕的絕望……” ...
    初雪夏霜閱讀 1,231評(píng)論 0 1

友情鏈接更多精彩內(nèi)容