前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Vue2学习计划三:插值语法

Vue2学习计划三:插值语法

作者头像
松鼠先生
发布2022-02-22 14:56:45
6870
发布2022-02-22 14:56:45
举报

一、什么是插值语法

插值字面意思大概就是插入值,那么把什么值插入什么地方就是我们研究的了。既然这个插值语法是Vue2里面的语法,那么肯定跟Vue的核心思想有关。Vue的核心是采用简洁的模板语法来声明式地将数据渲染进DOM系统。那么数据从哪来,插入哪,我们大概就知道了。我们响应式的数据插入到DOM中。这正是插值语法要做的。

二、不得不提的Mustache插值

前面浆果了,Mustache采用{{}},将Vue实例中的数据插入DOM中

代码语言:javascript
复制
<div id="app">{{message}}</div>
<script>
    const app = new Vue({
        el: '#app',
        data: {
            message: '欢迎观看,你的鼓励是我进步的动力'
        }
    })
</script>

如上代码,将欢迎观看,你的鼓励是我进步的动力插入到了DOM中显示。但是,这个{{}}只能在元素内部使用,不能在元素属性位置上使用。而且不仅仅可以如上写变量,还可以实现一些简单的表达式。

三、其他插值指令

1. v-once

我们知道Vue是响应式的,那么当Vue中的数据改变时,相应的DOM中展示的数据也会改变。那么当我们想一次性使用,永久不改变DOM中展示的某个数据时,是不是只能定义一个永远不改变的变量呢?当然不是,此时我们的v-once就派上用场了,如下代码:

代码语言:javascript
复制
<div id="app">
  <h2 v-once>{{message}}</h2>
  <h2>{{message}}</h2>
</div>
<script src="../js/vue.js"></script>
<script>
  const app = new Vue({
    el: '#app',
    data: {
      message: '你的观看,是我前进的动力'
    }
  })
</script>

代码输完,请紧跟我魔鬼的步伐,谷歌浏览器下点击完美的F12,然后切到Console栏,在>后面紧紧的输入app.message = “你看我变不变”。然后用力按下键盘上最大的那颗回车键。你就可以看到

在这里插入图片描述
在这里插入图片描述

你看吧,是不是带上v-once那个元素的内容并没有随着message变化而变化。

2. v-html

你看他居然使用html了。那肯定跟网页有关了。你都在写网页了,那必然不是跟写代码有关。差一点点就猜对了,这个就是跟链接有关。接下来show the code

代码语言:javascript
复制
<div id="app">
  <h2 v-html="src"></h2>
</div>
<script src="../js/vue.js"></script>
<script>
  const app = new Vue({
    el: '#app',
    data: {
      src: '<a href="http://www.baidu.com">百度</a>'
    }
  })
</script>

这个v-html其实就是以链接的方式展示数据。如上。当然里面可以不是百度,可以是你想要跳转的网页,当然如果违规就是让人讨厌的404了。

效果展示:

在这里插入图片描述
在这里插入图片描述

3. v-text

看着名字text,说实话有点鸡肋。目前身为菜鸡的我还不知道这个插值有啥用。不过既然存在,必有其道理。我们还是学习学习,忘了就算了。这个跟Mustache功能差不多,但是远没有Mustache强大。比如使用了v-text元素内部的文本会被覆盖,再比如使用v-text就不能使用简单的表达式(字符串拼接等)

代码语言:javascript
复制
<div id="app">
  <h2 v-text="message"></h2>
  <h2 v-text="message">我本来有值的,就是要你覆盖我</h2>
</div>
<script src="../js/vue.js"></script>
<script>
  const app = new Vue({
    el: '#app',
    data: {
      message: '这个是我不懂存在意义的插值'
    }
  })
</script>

效果展示:

在这里插入图片描述
在这里插入图片描述

4. v-pre

有没有想过,如果某一天我们使用Vue写一个Vue教程,我们总不能一直使用Mustache替代{{message}}吧。我们要在DOM中展示出{{message}}时怎么操作呢?这就是v-pre的功效了。v-pre主要用于跳过这个元素和它子元素的编译过程,用于显示原本的Mustache语法。不过依然不常用

代码语言:javascript
复制
<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: '你的观看,是我前进的动力'
    }
  })
</script>

效果展示:

在这里插入图片描述
在这里插入图片描述

5. v-cloak

有些时候,比如现在的我,网速慢的可以哭死在厕所。此时进网站尤其进Vue编写的,就有可能出现浏览器直接显示出未编译的Mustache,然后等一会闪一下出现渲染之后的DOM,模拟一下这个网卡的过程,代码如下:

代码语言:javascript
复制
在这里插入图片描述
在这里插入图片描述

1秒之后变成

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、什么是插值语法
  • 二、不得不提的Mustache插值
  • 三、其他插值指令
    • 1. v-once
      • 2. v-html
        • 3. v-text
          • 4. v-pre
            • 5. v-cloak
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档