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>
发布了51 篇原创文章 · 获赞 26 · 访问量 1823

猜你喜欢

转载自blog.csdn.net/qq_45473786/article/details/105064801