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 ...
 
随机推荐
- ABAP 指定字符替换为空格
			
上代码 DATA:str1 TYPE string VALUE '小红##爱#six##小绿#666'. *******DATA(str1) = '小红##爱#six##小绿#666'. " ...
 - 常用软件版本记录  lisoaring
			
操作系统 windows XP(2014年4月8日) windows 7(2020年1月14日终止支持) wiindows 10 Internet Explorer 1995-20220507 Fla ...
 - 修改文件时mmap如何处理
			
拷贝二进制(elf)文件 在拷贝二进制文件的时候,如果文件是一个可执行文件,并且有一个进程在运行这个可执行文件,那么拷贝的时候会出现"文本忙"(ETXTBSY)的错误提示,并且拷贝 ...
 - C#windows 服务 《转载》
			
转自:https://blog.csdn.net/Code_May/article/details/123909870 c#应用Windows服务 背景 一.创建windows服务 1.创建windo ...
 - logback 日志脱敏处理
			
1.按正则表达式脱敏处理 参考: https://www.cnblogs.com/htyj/p/12095615.html http://www.heartthinkdo.com/?p=998 站在两 ...
 - 【C学习笔记】day2-5 求两个数的最大公约数
			
#include <stdio.h> int main() { int a, b; int min; scanf_s("%d %d", &a, &b); ...
 - VUE中如何使用MOCK
			
安装mockjs npm install mockjs 可以使用数据模板生成模拟数据. Mock.mock( rurl?, rtype?, template ) ) // 或者 Mock.mock( ...
 - Oracle 数据库升级过程中的主要步骤
			
Oracle 数据库升级包括六个主要步骤. Oracle 数据库的升级步骤工作流 步骤 1:准备升级 Oracle 数据库 熟悉 Oracle 数据库新版本的特性. 确定新版本的升级路径. 选择升级方 ...
 - NX二次开发,对象上色
			
#include <uf_defs.h> #include <uf_ui_types.h> #include <uf.h> #include <uf_ui.h ...
 - go实现ls
			
package mainimport ( "fmt" "log" "os")func main () { f,err :=os.Open(& ...