Vue中的插值操作知識總結

Mustache語法

Mustache語法又稱作小鬍子語法(雙大括號語法),數據是響應式的

<body>
  <div id="app">
    <h2>HELLO {{book}}</h2>   //插入到標籤中
    <h2>{{book + price}}</h2>
    <h2>{{book}} {{price}}</h2>  //使用兩個小鬍子語法
    <h2>{{price*2}}</h2>   //可以是表達式
  </div>
    
<script src="../vue.js"></script>   
<script>
  const app = new Vue({
    el:"#app",
    data: {    
      book:"哈利波特",
      price:68
    }
  })
</script>
</body>

在這裏插入圖片描述

v-once

在某些情況下,我們可能不需要界面隨意地改變,只希望其只改變一次,這就要用到 v-once指令。
注意
(1)該指令後面不需要跟任何表達式(例如v-for需要跟表達式)
(2)該指令表示元素和組件只渲染一次,不會隨着數據地改變而改變

<body>
  <div id="app" v-once>
    {{message}}
  </div>
    
<script src="../vue.js"></script>   
<script>
  const app = new Vue({
    el:"#app",
    data: {    
      message:"hello vue"
    }
  })
</script>
</body>

在這裏插入圖片描述

v-html

某些情況下,我們從服務器請求到的數據本身就是一個HTML代碼,若直接通過大鬍子語法輸出,會將HTML代碼一同輸出。這時我們就可以使用v-html指令
注意:
(1)該指令後面往往跟上一個string(字符串)類型
(2)會將string中的html解析出來並進行渲染

<body>
  <div id="app">
    <h2>{{link}}</h2>
    <h2 v-html="link"></h2>
  </div>
    
<script src="../vue.js"></script>   
<script>
  const app = new Vue({
    el:"#app",
    data: {    
      link:"<a href='www.baidu.com'>百度一下</a>"
    }
  })
</script>
</body>

在這裏插入圖片描述

v-text

v-text和小鬍子語法比較相似,作用都是將數據顯示在界面上
v-text一般情況下接受一個string類型
注意: 會替換掉原有的內容

<body>
  <div id="app" v-once>
    <h2>{{message}}</h2>
    <h2 v-text='message'></h2>
    <h2 v-text='message'>你好</h2>   //不會有你好
  </div>
    
<script src="../vue.js"></script>   
<script>
  const app = new Vue({
    el:"#app",
    data: {    
      message:"hello vue"
    }
  })
</script>
</body>

在這裏插入圖片描述

v-pre

v-pre用於跳過這個元素和它子元素的編譯過程,用於顯示原本的小鬍子語法

<body>
  <div id="app" v-once>
    <h2>{{message}}</h2>
    <h2 v-pre>{{message}}</h2>
  </div>
    
<script src="../vue.js"></script>   
<script>
  const app = new Vue({
    el:"#app",
    data: {    
      message:"hello vue"
    }
  })
</script>
</body>

在這裏插入圖片描述

v-cloak

v-cloak防止表達式閃爍。給模板內的元素添加v-cloak屬性後,在vue解析之前,div中有一個屬性v-cloak,在vue解析之後,div中沒有一個屬性v-cloak。所以我們給這個屬性設置css樣式爲隱藏

 <style>a
    [v-cloak]{
        display:none
    }
 </style>
<body>
  <div id="app" v-once>
    <h2 v-cloak>{{message}}</h2>
  </div>
    
<script src="../vue.js"></script>   
<script>
  const app = new Vue({
    el:"#app",
    data: {    
      message:"hello vue"
    }
  })
</script>
</body>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章