Vue.js模板语法介绍
Vue.js模板、指令
模板语法概述
1、如何理解前端渲染?
把数据填充到HTML标签中,一般我们使用Ajax将数据从后台查询出,结合模板()
2、前端渲染方式
2.1、原生js拼接字符串
使用字符串拼接的形式拼接到html标签中,例如在js中拼接'
giao
'。
缺点:代码不规范,维护难度高。
2.2、使用前端模板引擎
与字符串拼接相比,代码明显规范了很多,它拥有自己的一套模板语法规则,程序员都遵循 这套规则,代码维护性就提高了很多。
缺点:没有专门提供事件机制。需要渲染后使用js增加事件。
2.3、使用vue特有的模板语法
1)、插值表达式
2)、指令
3)、事件绑定(处理)
4)、属性绑定
5)、样式绑定
6)、分支循环结构
3、指令
3.1、什么是指令?
什么是自定义属性?指令的本质就是自定义属性。指令的格式:以v开始(比如:v-cloak)。这取决于 vue的作者是怎么设计的,我们只需要使用即可。
3.2、v-cloak指令用法
插值表达式存在一个‘闪动’的问题,如何解决该问题呢?我们引入了v-cloak指令。解决该问题的原理:先 隐藏,替换好值之后显示最终的值。
1、才css中提供样式。
[v-cloak]{
display:none;
}
2、在插值表达式所在的标签中添加v-cloak指令。
<div v-cloak>{{msg}}</div>
原理:先通过样式隐藏,然后在内存中进行渲染,替换好之后再显示最终效果。
3.3、v-text指令
如果要在标签中插入文本值,可以使用v-text标签,它比插值表达式更加简洁,同时不存在闪动问题。但是插值表达式可以使用运算符,它不可以。
<div v-text="msg"></div>
此时,msg就会被解析为纯文本,例如msg的值为hello world编译后源码如下
<div>hello world</div>
3.4、v-html指令
填充HTML片段,但是存在安全问题,即容易受到XSS攻击,本地网站内部数据可以使用,来自第三方的数据不可用。不是很推荐使用。
<div v-html="title1"></div>
此时,title1就会被解析为html标签,例如title1的值为<h1>hello world</h1>编译后源码如下
<div><h1>hello world</h1></div>
3.4、v-pre指令
如果想在页面是直接展示{{msg}},而不是插值表达式解析的结果,就可以使用v-pre指令,它可以显示原始信息,跳过编译过程。使用方法如下。
<div v-pre>{{msg}}</div>
4、响应式指令
什么是响应式?
html中的响应式:屏幕尺寸的变化导致样式的变化
数据的响应式:数据的变化导致页面的变化,比如在控制台中修改了vm的属性,页面的数据也发生变 化。
什么是数据绑定?
数据绑定就是将数据填充到标签中,使用插值表达式进行的数据绑定默认就是响应式的。
4.1、v-once指令
如果某个属性只希望它编译一次,之后不再具有响应式功能,就可以使用v-once标签。即只在编译的时 候具有响应式。如果响应的数据后续不需要修改可以使用v-once,这样可以提高性能。
5、双向数据绑定
什么是双向数据绑定?
我们修改了vm中的属性其相应到页面,这叫数据的相应,如果修改了页面上的属性也可以修改vm中的数据,此时就是双向的数据绑定,即修改了任意一方就会影响另一方的数据。
5.1、v-model指令
使用v-model指令可以实现双向的数据绑定
<input type='text' v-model = 'uname'/>
插值表达式默认支持双向数据绑定。
Vue.js模板语法介绍的更多相关文章
- Vue.js 模板语法
本章节将详细介绍 Vue.js 模板语法,如果对 HTML +Css +JavaScript 有一定的了解,学习起来将信手拈来. Vue.js 使用了基于 HTML 的模版语法,允许开发者声明式地将 ...
- 第六篇:vue.js模板语法(,属性,指令,参数)
Vue.js 的核心是一个允许你采用简洁的模板语法来声明式的将数据渲染进 DOM 的系统. 结合响应系统,在应用状态改变时, Vue 能够智能地计算出重新渲染组件的最小代价并应用到 DOM 操作上.( ...
- Vue.js模板语法
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 【Vue】Vue框架常用知识点 Vue的模板语法、计算属性与侦听器、条件渲染、列表渲染、Class与Style绑定介绍与基本的用法
Vue框架常用知识点 文章目录 Vue框架常用知识点 知识点解释 第一个vue应用 模板语法 计算属性与侦听器 条件渲染.列表渲染.Class与Style绑定 知识点解释 vue框架知识体系 [1]基 ...
- vue基础——模板语法
模板语法介绍 Vue.js使用了基于HTML的模板语法,允许开发者声明式地将dom绑定至底层Vue实例的数据.所有Vue.js的模板都是合法的HTML,所以能被遵循规范的浏览器和HTML解析器解析. ...
- Vue基础之Vue的模板语法
Vue基础之Vue的模板语法 数据绑定 01 数据绑定最常见的形式就是使用插值表达式(两个大括号!)[也就是小胡子语法!mustache] <body> <!-- Vue.js的应用 ...
- Vue.js 数据绑定语法详解
Vue.js 数据绑定语法详解 一.总结 一句话总结:Vue.js 的模板是基于 DOM 实现的.这意味着所有的 Vue.js 模板都是可解析的有效的 HTML,且通过一些特殊的特性做了增强.Vue ...
- vue基础---模板语法
Vue.js 使用了基于 HTML 的模板语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据.所有 Vue.js 的模板都是合法的 HTML ,所以能被遵循规范的浏览器和 HTML 解 ...
- VUE:模板语法(小白自学)
VUE:模板语法 一:何为声明式 安装规定的语法,去实现一些效果(不需要管流程). 二:模板语法 <!DOCTYPE html> <html> <head> < ...
随机推荐
- 配置SVTI
路由器SVTI站点到站点VPN 在IOS 12.4之前建立安全的站点间隧道只能采用GRE over IPSec,从IOS 12.4之后设计了一种全新的隧道技术,即VIT(Virtual ...
- 【转载】IntelliJ IDEA配置JUnit进行单元测试
前提条件 安装JDK,并配置好环境变量 工程已解决JUnit依赖关系(pom.xml) IDEA中JUnit配置 IDEA自带一个JUnit插件,打开Settings窗口搜索junit,如图: 图 ...
- 洛谷 T2691 桶哥的问题——送桶
嗯... 题目链接:https://www.luogu.org/problem/T2691 这道题有一点贪心的思想吧...并且思路与题目是倒着来的(貌似这种思路已经很常见的... 先举个栗子: 引出思 ...
- Jquery实现ajax常用属性
- 设计模式课程 设计模式精讲 3-8 迪米法特原则讲解及Coding
1 课程讲解 1.1 定义 1.2 特质 1.3 重点 2 代码演练 2.1 反例 2.2 正例 1 课程讲解 1.1 定义 定义:一个对象应该对其他对象保持最少的了解.又叫最少知道原则. 1.2 特 ...
- 国外电商网站snapdeal爬取流程
首页爬取 1.首页获取各个目录的url 如所有优惠all_offers的其中urlhttps://www.snapdeal.com/products/men-apparel-shirts?sort=p ...
- Python - 模块中的"if __name__ == '__main__':"
1.1 如果导入的模块除了定义函数之外还中有可以执行代码,那么Python解释器在导入这个模块时就会执行这些代码. module1.py: def foo(): print('module 1') f ...
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 排版:设定大写文本
<!DOCTYPE html> <html> <head> <title>菜鸟教程(runoob.com)</title> <meta ...
- exp之shellcode的理解
原题请见 https://www.jarvisoj.com/challenges from pwn import * io = remote("pwn2.jarvisoj.com" ...
- 测试人员如何使用Git
测试人员如何使用Git? 首先Git的安装,这里不多做阐述,直接去Git官方网站下载后并傻瓜式安装即可. 如何判定已安装好Git呢? ------------- 随便打开一个目录,鼠标右键点击可看到 ...