v-once与v-html与v-text与v-pre与v-cloak

1.v-once

只会在第一次展示数据,如果想继续改变,不会跟着改变,不太常用

d846073362da4100ae700f61ad8ebafa.png

 a8e06ff763fb4b04b7a0c7ad4be19465.png

 34c25a51df0243da9837ebc11ba33435.png

2.v-html

21ebcaf60da34f789cc79e5d3eed2613.png

 aca19a610e4d48dd89a3f290199cb566.png

ed9520131c5744e4a819def4a2e91886.png

 3.v-text

0a9e5b3ed824445da2b97d2303be696a.png

81ac7bd7b5e7488e8059896a1b042c0f.png

02ce3615eda34b18a0b8a31643ba617a.png

 如果添加文本,不会显示,只会显示v-text的,一般不用,用mustache更多

4.v-pre

 102016ed25ec4f7b9590f6524ef43820.png

 比如单纯就是想显示{{message}}不希望被解析

32be333797514838ab162f6c23436055.png

 5.v-cloak

因为设置了时间,如果不加v-cloak会看到没有渲染的{{message}}

d735ec5222804ac7a372e9a3093e7975.png

 如果加了v-cloak直到渲染完毕才会显示出来,否则就是display none,从而代替mustache的显示

a29c360882f142258fb49122d47366c1.png

v-cloak也不是很常用

因为模板会被渲染成函数,到时候使用的是虚拟dom

mustache

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>

<div id="app">
  <h2>{{message}}</h2>
<h2>{{message}},学习vue</h2>
  <h2>{{firstClass+"与"+secondClass}}</h2>
  <h2>{{firstClass}}  {{secondClass}}</h2>
  <h2>{{counter*2}}</h2>
</div>

<script src="../js/vue.js"></script>
<script>
  const app=new Vue({
    el:"#app",
    data://注意此处的花括号
        {
          message:"努力学习啊",
          firstClass:"汇编",
          secondClass:"计算机系统",
          counter:100
        },
  })
</script>

</body>

v-once 

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>

<div id="app">
  <h2>  {{message}}</h2>
  <h2  v-once>{{message}}</h2>
</div>

<script src="../js/vue.js"></script>
<script>
  const app=new Vue({
    el:"#app",
    data://注意此处的花括号
        {
          message:"这是一个vue模板"
        }
  })
</script>

</body>
</html>

v-html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>

<div id="app">
  <h2>{{url}}</h2>
  <h2 v-html="url"></h2>
</div>
<script src="../js/vue.js"></script>
<script>
  const app=new Vue({
    el:"#app",
    data://注意此处的花括号
        {
          message:"这是一个vue模板",
          url:"<a href='http://www.baidu.com'>百度一下</a>"
        }
  })
</script>

</body>
</html>

v-text

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>

<div id="app">
  <h2>{{message}},晚上好</h2>
  <h2 v-text="message">,晚上好</h2>
</div>
<script src="../js/vue.js"></script>
<script>
  const app=new Vue({
    el:"#app",
    data://注意此处的花括号
        {
          message:"这是一个vue模板"
        }
  })
</script>

</body>
</html>

v-pre 

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>

<div id="app">
  <h2>{{message}}</h2>
  <h2 v-pre>{{message}}</h2>
</div>
<script src="../js/vue.js"></script>
<script>
  const app=new Vue({
    el:"#app",
    data://注意此处的花括号
        {
          message:"这是一个vue模板"
        }
  })
</script>

</body>
</html>

v-cloak(待修改

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <style>
    [v-cloak]
    {
      display: none;
    }
  </style>
</head>
<body>

<!--vue解析前,div有属性v-clock-->
<!--解析后没这个属性,就可以展示出来效果了-->
<div id="app">
  {{message}}
</div>
<script src="../js/vue.js"></script>
<script>
  setTimeout(function ()
  {
    const app=new Vue({
      el:"#app",
      data://注意此处的花括号
          {
            message:"这是一个vue模板"
          }
    })
    },1000)//1s后渲染出来


</script>

</body>
</html>

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值