2.Vue模板语法
1.模板语法的概述
(1)如何理解前端渲染
将数据填充到HTML标签中,生成静态的HTML内容
2.前端渲染方式
(1)原生JS拼接字符串
(2)使用前端模板引擎
(3)使用Vue特有的模板语法
3.Vue模板语法
(1)插值表达式
(2)指令
(3)事件绑定
(4)属性绑定
(5)样式绑定
(6)分支循环结构
4.指令
(1)什么是自定义属性?
(2)指令的本质就是自定义属性
(3)指令的格式:以v-开头
5.指令介绍
(1)v-cloak指令用法
插值表达式存在的问题:当浏览器卡顿时,刷新页面,会出现双大括号问题
解决对策:使用v-cloak指令
解决该问题的原理:先隐藏样式的内容,之后在内存中进行值的替换,替换好之后再显示最终效果
(2)数据绑定指令
(2.1)v-text 填充纯文本
相比插值表达式更加简洁
(2.2)v-html
本身存在问题,会遭到XSS攻击
本网站内部数据可以使用,来自第三方的数据不可使用
(2.3)v-pre填充原始信息
跳过编译过程,显示原始信息
(3)数据响应式
(3.1)如何理解数据响应式?
HTML5中的数据响应式: 由于屏幕尺寸的变化导致样式的变化
数据的响应式: (数据的变化导致页面内容的变化)
(3.2)什么是数据绑定?
将数据填充到标签中
(3.3)v-once 只编译一次
显示内容之后不再具有响应式的功能
(4)双向数据绑定指令
(4.1)什么是双向数据绑定
页面内容的变化引起模型数据的变化
模型数据的变化引起页面内容的变化
(4.2)双向数据绑定指令v-model
1 <input type="text" v-model='msg'>
其中的v-model的值是模型数据的值
(4.3)MVVM设计思想
M(Model)、V(View)、VM(View-Model)
View(DOM) ---(DOM Listener)---> Model(JavaScript Object)
<---(Data Bindings)---
2022年01月14日08:35:02
(5)事件绑定
(5.1)Vue如何处理事件?
v-on指令用法
1 <button v-on:click='num++'>点击</button>
v-on简写形式
1 <button @click='num++'>点击1</button>
(5.2)事件函数的调用方式
在定义的Vue实例中使用methods在其中写事件函数
直接绑定函数名称
1 <button v-on:click='handle'>点击2</button>
调用函数
1 <button v-on:click='handle()'>点击3</button>
(5.3)事件函数参数传递
普通参数和事件对象
1 <button v-on:click='handle2(123,456,$event)'>点击2</button>
1 <button v-on:click.stop='handle1'>点击1</button>
1 <a href="https://www.baidu.com" v-on:click.prevent='handle2'>百度</a>
(5.5)按键修饰符
.enter 回车键
1 <input type="text" v-model='pwd' v-on:keyup.enter='handleSubmit'>
.delete 删除键
1 <input type="text" v-model='uname' v-on:keyup.delete='clearContent'>
(5.6)自定义按键修饰符
全局 config.keyCodes对象
1 Vue.config.keyCodes.aaa = 65;
(5.7)属性绑定
v-bind指令用法
1 <a v-bind:href="url">百度</a>
缩写形式
1 <a :href="url">百度1</a>
v-model底层原理实现分析
1 <input type="text" v-bind:value="msg" v-on:input='msg=$event.target.value'>
(5.8) 样式绑定
class样式处理
对象语法
1 <div v-bind:class="{active:isActive,error:isError}">测试样式</div>
数组语法
1 <div v-bind:class="[activeClass,errorClass]">测试样式</div>
style样式处理
对象语法
1 <div v-bind:style='{border:borderStyle, width:widthStyle, height:heightStyle}'></div>
数组语法
1 <div v-bind:style='[objStyles,overrideStyles]'></div>
(5.9) 分支结构
v-if
v-else
v-else-if
v-show: v-show的原理:控制元素样式是否显示 display:none
1 <div v-if='score>=90'>优秀</div>
2 <div v-else-if='score<90 && score >=80'>良好</div>
3 <div v-else-if='score<80 && score >60'>一般</div>
4 <div v-else>不及格</div>
v-show与v-if的区别
(1)v-if控制元素是否渲染到页面
(2)v-show控制元素是否显示(已经渲染到页面)
(5.10)循环结构
v-for遍历数组
1 <li v-for='item in fruits'>{{item}}</li>
2 <li v-for='(item,index) in fruits'>{{item + '-------' + index}}</li>
key的作用:帮助vue区分不同的元素,从而提高性能
1 <li :key='item.id' v-for='(item,index) in fruits'>{{item + '-------' + index}}</li>
v-for遍历对象
<div v-for='(value,key,index) in obj'>{{value + '---' + key + '---' + index}}</div>
v-for和v-if结合使用
1 <div v-if='value==12' v-for='(value,key,index) in obj'>{{value + '---' + key + '---' + index}}</div>
2.Vue模板语法的更多相关文章
- Vue模板语法(二)
Vue模板语法(二) 样式绑定 class绑定 使用方式:v-bind:class="expression" expression的类型:字符串.数组.对象 1.2 style绑 ...
- Vue模板语法(一)
Vue模板语法 一.插值 1.1.1 文本 {{msg}} 1.1.2 html 使用v-html指令用于输出html代码 1.1.3 属性 HTML属性中的值应使用v-bind指令 1.1.4 表达 ...
- Vue模板语法(一)
Vue模板语法 一 vue简介 Vue.js是一套构建用户界面的渐进式框架. 与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计. Vue 的核心库只关注视图层,并且非常容易学习,非常容易与 ...
- Vue 模板语法 && 数据绑定
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8" /> 5 & ...
- 初始Vue、Vue模板语法、数据绑定(2022/7/3)
文章目录 1.Vue简介 1.1.Vue的安装使用 1.2.实际的运用案例 1.3.vue开发工具的使用(这个需要在浏览器中安装) 2.初始Vue 2.1 .基础知识 2.1 .代码实例 2.2 .页 ...
- (Vue)vue模板语法
Vue.js 使用了基于 HTML 的模版语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据.Vue.js 的核心是一个允许你采用简洁的模板语法来声明式的将数据渲染进 DOM 的系统. ...
- Vue模板语法与常用指令
Vue.js 使用了基于 HTML 的模板语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据.在底层的实现上,Vue 将模板编译成虚拟 DOM 渲染函数,结合相应系统,在应用状态改变时 ...
- Vue模板语法(二)
Vue基础模板语法 二 1. 样式绑定 1.1 class绑定 使用方式:v-bind:class="expression" expression的类型:字符 ...
- (32)Vue模板语法
模板语法 文本: <span>Message: {{ msg }}</span> v-once 一次性地插值,当数据改变时,插值处的内容不会更新 <span v-once ...
- 11 - Vue模板语法
Vue.js 使用了基于 HTML 的模板语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据. 所有 Vue.js 的模板都是合法的 HTML ,所以能被遵循规范的浏览器和 HTML ...
随机推荐
- mysql数据库连接客户端过多
flush hosts; 清理连接 查看当前连接数 show PROCESSLIST 与 show full PROCESSLIST (查看当前数据库所有连接,包含空闲连接与活跃连接) 查看最大连接数 ...
- MogDB 学习笔记之 -- PITR恢复
# 概念描述## 背景信息当数据库崩溃或希望回退到数据库之前的某一状态时,MogDB的即时恢复功能(Point-In-Time Recovery,简称PITR)可以支持恢复到备份归档数据之后的任意时间 ...
- 统计包含关键字的 Key 的数量
- drf从入门到飞升仙界 05
反序列化类校验部分源码解析 # 反序列化校验,什么时候开始执行校验 视图类中的ser.is_valid(),就会执行校验,校验通过返回True,不通过返回false # 反序列化类校验的入口: ser ...
- js - class 操作
js - class 操作 // 添加 function addClass(dom, classNameString = '') { if (!dom.className.length) dom.cl ...
- Linux服务器中了挖矿木马怎么办?-挖矿木马自助清理手册
什么是挖矿木马 挖矿木马会占用CPU进行超频运算,从而占用主机大量的CPU资源,严重影响服务器上的其他应用的正常运行.黑客为了得到更多的算力资源,一般都会对全网进行无差别扫描,同时利用SSH爆破和漏洞 ...
- 用Flask+Element+Vue搭建md5、sha加密网站
目录 一.绘制网站页面 1.1 绘制输入框 1.2 绘制表单 二.flask后端接口 三.前后端数据交互 在本章中,我们能学到: 1.Element 中的输入框.按钮.消息提示组件的使用 2.axio ...
- 20211306 实验一《Python程序设计》实验报告
202111306 丁文博 第一次实验报告 课程:<Python程序设计> 班级: 2113 姓名: 丁文博 学号:20211306 实验教师:王志强 实验日期:2022年3月24日 必修 ...
- Kafka相关问题
Kafka有哪几个部分组成 生产者.消费者.topic.group.partition kafka的group1)定义:即消费者组是 Kafka 提供的可扩展且具有容错性的消费者机制.在Kafka中, ...
- 微信小程序:流程/步骤流/时间轴自定义组件
效果图: 1.首先在小程序components目录下新建一个名为step的文件夹,再建step组件名.结构如下. 直接上代码 step.wxml <view class="step&q ...