P2-vue插值操作

1.插值操作概述

插值操作的特点将vue的data数据插入到html展示层进行显示。

1.1.Mustache

双大括号引用变量的语法称为Mustache语法,Mustache将需要展示的数据用变量形式展示,当Data对象中的数据发生改变时,展示层的数据将自动改变。同时Mustache还支持表达式来扩展显示的方式。
使用Demo如下

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<div id="app"><!--"双大括号的语法称为:mustache语法",mustache语法中,不仅仅可以直接写变量,也可以写简单的表达式--><h2>{{message}}</h2><!-- mustache语法连接字符串 --><h2>{{message}},HelloWorld!!</h2><!-- mustache表达式 --><h2>{{firstName + lastName}}</h2><h2>{{firstName +' '+lastName}}</h2><h2>{{firstName}} + {{lastName}}</h2><h2>{{counter *2}}</h2>
</div><script src="../js/vue.js"></script>
<script>const app = new Vue({el: '#app',data: {message: '你好vue',firstName: 'hua',lastName: 'zhang',counter: 100},})
</script></body>
</html>

1.1.1.展示效果

1.2.v-once插值指令

在某些情况下,我们可能不希望界面随意的跟随Data数据改变而改变。这个时候可以用v-once指令

  • v-once:
    该指令后面不需要跟任何表达式(比如之前的v-for后面是由跟表达式的)
    该指令表示元素和组件(组件后面才会学习)只渲染一次,不会随着数据的改变而改变。
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<div id="app"><h2>{{message}}</h2><!-- v-once指令保证数据不会随Data数据改变而改变  --><h2 v-once>{{message}}</h2></div><script src="../js/vue.js"></script>
<script>const app = new Vue({el: '#app',data: {message: '你好啊'}})
</script>
</body>
</html>

1.2.1.展示效果

在Console中输入命令改变数据,在上面展示结果中可以看到v-once修饰的第二行数据没有改变

1.3.v-html插值指令

  • 某些情况下,我们从服务器请求到的数据本身就是一个HTML代码
    - 如果我们直接通过{{}}来输出,会将HTML代码也一起输出。
    - 但是我们可能希望的是按照HTML格式进行解析,并且显示对应的内容。
  • 如果我们希望解析出HTML展示
    可以使用v-html指令
    该指令后面往往会跟上一个string类型
    会将string的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: 'v-html你好',url: '<a href="http://www.baidu.com">百度一下</a>'}})
</script>
</body>
</html>

1.3.1.展示效果

1.4.v-pre插值指令

v-pre用于跳过这个元素和它子元素的编译过程,用于显示原本的Mustache语法。
比如下面的代码:
第一个h2元素中的内容会被编译解析出来对应的内容
第二个h2元素中会直接显示{{message}}

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<div id="app"><h2>{{message}}</h2><!-- v-pre用于跳过这个元素和它子元素的编译过程,用于显示原本的Mustache语法 --><h2 v-pre>{{message}}</h2>
</div><script src="../js/vue.js"></script>
<script>const app = new Vue({el: '#app',data: {message: '你好'}})
</script>
</body>
</html>

1.4.1.展示效果

1.5.v-cloak

在vue解析之前,我们浏览器可能会直接显然出未编译的Mustache标签,在vue解析之后展示Mustache内的数据。这样的展示效果是不能接受的,这个时候我们可以用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-cloak
在vue解析之后, div中没有一个属性v-cloak 用这个属性来控制我们message的数据在vue解析之前不展示,解析之后展示-->
<div id="app" v-cloak><h2>{{message}}</h2>
</div>
<script src="../js/vue.js"></script>
<script>setTimeout(function(){const app = new Vue({el: '#app',data: {message: '你好v-cloack'}})},1000)</script>
</body>
</html>

1.5.1.展示效果

  • vue解析之前不展示数据
  • vue解析之后展示数据

P2-vue插值操作相关推荐

  1. Vue 模板语法 插值操作 绑定属性 计算属性 事件监听 条件判断 循环遍历 阶段案例

    1 插值操作 1.1 Mustache语法 也就是双大括号 {{ }} <div id="app"> <!-- mustche语法中,不仅可以直接写变量,也可以写 ...

  2. 一、Vue基础语法学习笔记系列——插值操作(Mustache语法、v-once、v-html、v-text、v-pre、v-cloak)、绑定属性v-bind(绑定class、style)、计算属性

    一.插值操作 1. Mustache 如何将data中的文本数据,插入到HTML中呢? 我们已经学习过了,可以通过Mustache语法(也就是双大括号). Mustache: 胡子/胡须. 我们可以像 ...

  3. Vue的基础知识之插值操作

    在学习之前如果你没有ES6的相关知识补充,请先去看看博主的这篇文章 关于VUE中ES6的基础知识 1.Vue的基础知识 Vue是一个渐进式框架 渐进式意味着你可以将Vue作为你应用的一部分嵌入其中,带 ...

  4. vue样式操作与事件绑定

    Vue笔记 1 Vue实例 (VM) var vm = new Vue({ el:'#app', //挂载元素 //数据 data: { title:'值', .... dataList:[] }, ...

  5. 从“小胡子”到 vue 插值语法

    从"小胡子"到 vue 插值语法 什么是模板引擎 模板引擎是将数据要变为视图最优雅的解决方案,简单来说就是将模板文件和数据通过模板引擎生成一个HTML代码.还不懂?没关系,打个比方 ...

  6. eclipsevue代码怎么运行_[Java教程]使用eclipse初步学习vue.js操作

    [Java教程]使用eclipse初步学习vue.js操作 0 2017-11-26 19:00:06 一.vue.js的初步认识 https://unpkg.com/vue ">vu ...

  7. VUE如何操作DOM

    最近有些自闭,life is a shit,但是学习不能停,也开始继续健身了,试图让自己好一点. 这是学习VUE的第一篇博客,先来说一下准备工作.我们需要在谷歌商店安装vue-devtools插件,打 ...

  8. vue v-html 插值,vue 插值 v-once,v-text, v-html详解

    引入vue.js ,通过script形式,vue官网语法记录 创建vue应用,数据和 dom 已经被建立了关联,所有东西都是响应式的 1:插值 缺点:让你的网速慢,或者数据加载失败时,会在浏览器中直接 ...

  9. 在vue中操作DOM--this.$nextTick()

    虽然 Vue.js 通常鼓励开发人员沿着"数据驱动"的方式思考,避免直接接触 DOM,但是有时我们确实要这么做.比如一个新闻滚动的列表项.如果在这里需要操作dom, 应该是等待 V ...

最新文章

  1. 实战清除电脑上恶意弹出广告窗口
  2. 视频编解码之理论概述 和即时通信
  3. MySQL——多表查询练习:电商数据查询
  4. 1046. 划拳(15)
  5. MyBatis的逆向工程工具,自动生成数据库对应的POJO实体类、mapper接口、增删改查mapper.xml文件
  6. ASP.net(C#)]用DataSet进入对数据源的插入数据、更新数据及刪除数据
  7. Android SDK|API
  8. ajax后台如何把对象转为json_SM后台数据与前端(PC、M站、Android、IOS)的交互——页面渲染...
  9. fastclick.js插件使用简单说明
  10. Xocde一次版本升级遇到的问题 (Code Sign Error)
  11. ios Xcode 版本兼容及真机调试
  12. linux安装pl脚本,nagios插件脚本check_linux_stats.pl 安装
  13. VScode中文注释乱码问题解决
  14. xshell5和xftp5安装教程
  15. app开发的三大技术框架
  16. knockoutjs总结
  17. 自动控制原理第2章——自动控制系统的数学模型(思维导图)
  18. 【lol版】2022年最新Java学习路线图(来自动力节点)
  19. R语言求一行(列表、list)数据的平均数
  20. 解放双手, python自动化操作电脑端微信

热门文章

  1. mysql无法存储微表情、微信昵称包含微表情无法存储数据库
  2. 林轩田机器学习基石课程个人笔记-第三讲
  3. 23款奔驰GLS400升级柏林之声音响系统+HUD抬头显示系统
  4. 最好用的_古书制作工具_古籍排版工具_古文排版_自动生成古书_多种古书风格_古籍制作工具_个性化书籍制作工具
  5. Linux||环境变量
  6. pytorch 实现a3c算法
  7. ck6.8整合php,phpcms V9整合ckplayer 6.2教程,完整无错,非插件.(3)
  8. shell循环语句及实验
  9. 如何使用 datax 将 mysql 中的数据拉取到 hive ?
  10. python游戏目标识别_用Python玩GTA 5—使用OpenCV读取游戏面面