一、数据绑定

Vue.js 的核心是一个允许采用简洁的模板语法来声明式地将数据渲染进 DOM 的系统:

<div id="app">
{{ msg }}
</div> //实例化代码
var app = new Vue({
el: '#app',
data: {
msg: '欢迎学习Vue'
}
})

{{ msg }} 为什么会变成 msg 的值?vue 使用基本 html 的模板语法,允许开发者声明式地将DOM 绑定至底层 vue 实例的数据,所有 vue 模板都是合法的 html,所以能被遵循规范的浏览器和 html 解析器解析。

二、模板语法

2.1、mustache语法

mustache 翻译为中文,是胡子/胡须。由于 {{ msg }} 两边都有对称的大括号,就像人的胡须一样,所以就叫做 mustache 语法。

特点:不仅可以直接写成变量,也可以添加简单的表达式。

//写法多样,使用便捷
<h2> {{ msg }} <h2>
<h2> {{ fir+' '+sed }} <h2>
<h2> {{ fir }} {{sed}} <h2>
<h2> {{ number + 1 }} <h2>
<h2> {{ message.split('').reverse().join('') }} <h2>

2.2、v-once

上边的数据绑定中,页面展示 msg 的值,如果我们在浏览器调试中,修改 msg 的值,页面立马会更新,始终保持最新的值为页面内容。

调试模式,输入如下内容观察:

app.msg="你不爱我了" //回车

vue 支持动态渲染文本,在修改属性的同时,实时渲染文本。为了提高渲染效率,只需第一次渲染出文本之后,后期属性再修改不会影响文本内容。

此时就需要使用 v-once 解决问题。

//使用语法
<span v-once>{{msg}}</span>

特点:该指令后面不需要任何表达式,表示元素或组件只渲染一次,不会随数据的改变而改变文本。

2.3、v-html

在某些特殊情况下,页面需要动态地插入一段 html 代码,比如编辑器,动态传入的就是一段html 代码,使用时我们需要原样输出,如:

<div>{{url}}</div>

data(){
return{
url:'<a href="http://www.baidu.com">百度首页</a>'
}
}

直接这么写并不能满足我们的要求,我们需要展示成带有超链接的百度首页,此时 v-html 登场。

// v-html 使用语法
<div v-html="url"></div>

给元素添加 v-html 指令后,元素就展示成一个带有超链接的百度首页文字。

v-html 特点:可以解析字段内的标签,把内容当作 html 标签来处理。

2.4、v-text

// 使用语法
<span v-text="msg"></span>

特点:与 mustache 语法类似,用于展示文本的。使用没有 mustache 灵活,所以使用较少。

注意点:<span v-text="msg">新内容</text> 标签中又新增内容时,会把原来 msg 中的内容覆盖掉。

2.5、v-pre

v-pre 与 html 中的 pre 标签有些类似,html 中的 pre 会原样输入空格、换行、缩进和文本内容。v-pre 也是原样输出内容,不会解析。

// 使用语法
<div v-pre> {{ msg }} </div>
页面直接输出 {{ msg }}

2.6、v-cloak

cloak 翻译成中文,是斗篷。那么 v-cloak是用来干什么的呢?

html页面运行的时候,会闪现 {{ msg }} ,如图:

v-locak 就是用来解决这个问题的。

// 使用语法
<div v-cloak> {{ msg }} </div>

特点:在 vue 解析之前,元素有 v-cloak 属性,vue 解析之后,元素没有 v-cloak 属性。

利用 v-cloak 的特点,我们在 css 中添加

[v-cloak]{
display:'none'
}

此时再运行网页的时候,解析之前会被隐藏掉,解析之后才展示内容,就不会再闪现 {{msg}}。

前端框架VUE——数据绑定及模板语法的更多相关文章

  1. 前端框架vue.js系列(9):Vue.extend、Vue.component与new Vue

    前端框架vue.js系列(9):Vue.extend.Vue.component与new Vue 本文链接:https://blog.csdn.net/zeping891103/article/det ...

  2. Flask框架 请求与响应 & 模板语法

    目录 Flask框架 请求与响应 & 模板语法 简单了解Flask框架 Flask 框架 与 Django 框架对比 简单使用Flask提供服务 Flask 中的 Response(响应) F ...

  3. 前端框架VUE

    Vue Vue近几年来特别的受关注,三年前的时候angularJS霸占前端JS框架市场很长时间,接着react框架横空出世,因为它有一个特性是虚拟DOM,从性能上碾轧angularJS,这个时候,vu ...

  4. (转)2018几大主流的UI/JS框架——前端框架 [Vue.js(目前市场上的主流)]

    https://blog.csdn.net/hu_belif/article/details/81258961 2016年开始应该是互联网飞速发展的几年,同时也是Web前端开发非常火爆的一年,Web ...

  5. 前端框架 vue 和 react 的区别

    前言:最近需要使用 react,以前用过 vue,故来总结两者的区别. 首先React与vue有几点相同之处 1.都使用了Virtual DOM 2.提供了响应式(Reactive)和组件化(Comp ...

  6. 可能是目前最完整的前端框架 Vue.js 全面介绍

    Vue.js 是一个JavaScriptMVVM库,是一套构建用户界面的渐进式框架. 摘要 2016年最火的前端框架当属Vue.js了,很多使用过vue的程序员这样评价它,“vue.js兼具angul ...

  7. Vue实例与模板语法

    VUE基础使用方法 一.安装 1.NPM 在用 Vue 构建大型应用时推荐使用 NPM 安装[1].NPM 能很好地和诸如 webpack 或 Browserify 模块打包器配合使用.同时 Vue ...

  8. 前端框架-Vue 入门

    一.介绍 1.Vue.js 是什么 Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架. Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合. ...

  9. 前端框架 Vue 初探

    一.前言 前几日使用微信网页版时,好奇这个网页用了什么前端框架.用Chrome的开发人员模式一探到底,发现原来用了一个名叫 Angular 的框架.好吧,既然微信用了.那我也最好还是看看.等等,你这篇 ...

随机推荐

  1. ElementUi 表单验证失败后 页面滚动到表单验证失败位置

    1.应用场景 当进行长表单验证时 用户填写到了单子的最下面 可是已经滚动过去的部分单子验证失败 为了友好的用户体验 这时候就需要滚动到验证失败位置 2.解决思路 elementUi本身并没有提供相关获 ...

  2. Run Shell Commands in Python

    subprocess.call This is the recommended way to run shell commands in Python compared with old-fashio ...

  3. 跟我一起写 Makefile(七)

    使用变量 ---- 在Makefile中的定义的变量,就像是C/C++语言中的宏一样,他代表了一个文本字串,在Makefile中执行的时候其会自动原模原样地展开在所使用的地方.其与C/C++所不同的是 ...

  4. Speed up Downloading Files on Linux

    Compared aria2c, axel and wget, aria2c is the best. It support multi-thread download (with "-s ...

  5. 如何请求一个需要登陆才能访问的接口(基于cookie)---apipost

    在后台在开发.调试接口时,常常会遇到需要登陆才能请求的接口. 比如:获取登陆用户的收藏列表,此时,我们就需要模拟登陆状态进行接口调试了.如图: 今天,我们讲解利用ApiPost的环境变量,解决这种需要 ...

  6. Shell-02-数据类型

    shell数据类型 shell常用的数据类型有 字符串.整数型.数组 字符串 字符串是shell编程中最常用最有用的数据类型,字符串可以用单引号,也可以用双引号,也可以不用引号 建议使用双引号,因为双 ...

  7. Golang语言系列-18-Gin框架博客项目

    代码托管在码云: https://gitee.com/lichengguo/my-blog-golang

  8. SpringBoot开发二

    需求介绍-Spring入门 主要是理解IOC,理解容器和Bean 代码 在Test里面利用getBean方法帮助我们看一下容器的创建: 那我首先要写一个Bean对象,假设是写一个访问数据库类. Alp ...

  9. S3C2440—4.时钟系统

    文章目录 一.S3C2440时钟体系介绍 1.总线与时钟 2.时钟来源 3.选择时钟 4.产生时钟 5.流程 二.如何配置时钟源 1.设置FCLK频率寄存器 MPLLCON 2.设置分频HDIV.PD ...

  10. noip18

    T1 来自cf原题 考场直接暴力枚举 \(A,B\),15pts. 正解: 首先时间的表达式,\(T=\frac{A}{a_{i}}+\frac{B}{b_{i}}\),然后以\(\frac{1}{a ...