Vue基础教程,使用方法
一.引入vue.js
二.创建一个vue实例
在实例化vue的时候,有两种挂载方式
1.最常用的做法就是直接在实例化的时候利用el:"#app"来挂载元素
el:设置被操作的元素,表示vue要控制的区域,值为css选择器
data:
类型是对象
作用存放要用到的数据,数据为响应式的
三.将数据绑定到页面元素
{{lcy}}
{{}} 意思是Mustach语法,vue中用{{}}来定义模板和数据的关联,可以是property键值,也可以是js表达式比如:{{msg?"完成":"未完成"}}
四.指令
注:使用v- 属性绑定数据是不需要双花括号包裹
1.什么是指令?
- 具有特殊含义,拥有特殊功能的特性
- 指令带有v-前缀,表示它们是Vue提供的特殊特性
- 指令可以直接用data中的数据
2.基础指令
- v-pre : 直接显示原始标签,不获取data中的值
- v-once:只渲染一次,元素及其子节点视为静态并跳过
- v-text:等同与{{msg}},优先级高于Mustache(v-text替换元素的所有内容,{{}}只替换自己)
- v-html:更新元素的innerHTML(内容按普通html插入,不会作为vue模板编译)
3.条件渲染指令
- v-if:条件性渲染一块内容
- v-else if
- v-else
- v-show:根据表达式真假值,切换元素的display CSS属性
4.列表渲染指令
- v-for:列表渲染
5.v-bind指令
- 动态的绑定一个或多个特性,全动态,可以随data里数据改变而改变
- 可以去除v-bind 直接写 :***, :后为传递的参数
例子:
点击切换属性:
点击更改属性:
也可以直接绑定一个样式对象:
修饰符:
.指名的后缀,用来指出一个指令应该以特殊方式绑定
.camel:用于绑定特性时,会将大写字母转化为小写字母
.prop:用于绑定DOM属性
.sync
6.v-on指令
v-on指令可以监听DOM事件,并在触发时运行一些javaScript代码
该指令用于监听某个元素的点击事件,执行的方法通常是在methods中定义
简写为: @click=" "
事件的类型由参数决定
可以接受一个需要调用的方法
事件修饰符:
- .stop:阻止事件冒泡
- .prevent:阻止默认事件
- .once:执行一次
- .self:绑定的元素本身触发时才触发回调(也能阻止事件冒泡)
- .capture:事件捕捉模式
按键修饰符:
- .enter(回车键)
- .tab
- .delete(删除或退格)
- .esc
- .space(空格键)
- .up(上建)
- .down(下键)
- .left(左键)
- .right(右键)
例子:
$event 固定写法
$event.target 事件对应的html节点
7.列表渲染
v-for:
利用v-for指令,基于数据多次渲染元素
下面分别展示v-for循环 数组和对象
v-for="(item,index) in array"
// array 为依赖的数据,item为数组的项,index为数组的下标索引v-for="(value,key,index) in object"
// object为js依赖的对象,value为值,key为键,index为索引
渲染数字:
用法:n in num 参数: n:数字,从1开始
渲染字符串:
用法:str in string 参数:str:字符串,原数据字符串中的每一个
另外:
可以利用template元素循环渲染一段包含多个元素的内容
key:管理可复用的元素,辅助vue更好的识别根节点 更好的优化渲染,建议key使用后台数据的唯一id值
8.表单绑定
v-model:
使用v-model指令在表单上,元素上创建双向数据绑定,会根据控件类型自动选取正确的方法
v-model 相当于做了两个操作:v-bind绑定一个value属性,v-on指令给当前元素绑定input事件
可以在表单元素上创建双向绑定。即数据更新,元素更新,元素更新,数据也更新
注:
v-model会忽略所有的表单元素的value,checked,selected的初始值,而是将vue实列的数据作为数据来源。
v-model表达式的初始值未能匹配任何选项,元素将渲染成为选择状态
例:
1.双向绑定:表单的输入值可以返回给实列数据
2.绑定多个复选框:
绑定到一个数组,数组中的值为被选中的value值
3.绑定单选框:
被绑定的数据和value同步
4.绑定下拉列表
它会依据实列数据对表单进行匹配
5.修饰符:
.lazy:添加lazy修饰符,在变成change事件后进行同步
.number:自动将用户的输入值变为数值类型
.trim:自动过滤用户输入的首位空白字符
9.自定义指令
1.全局自定义指令
//自定义全局的指令
Vue.directive('focus', {//第一个参数永远是el,表示原生的js对象bind: function (el) { //当指令绑定到元素上的时候,会立即执行bind函数,只执行一次,此时元素还没有插入到DOM中,focus聚焦此时不会生效el.focus()},inserted: function (el) { //当元素插入到DOM中的时候,会执行inserted函数,只执行一次el.focus()},updated: function () { //当VNode的时候,会执行updated函数,可能出发多次}});// 使用全局自定义指令
<input type="text" class="form-control" v-model="keywords" v-focus">
2.私有自定义指令
作为和methods平级的属性定义在VM的实例中
directives: {'fontweight': {bind: function (el, bingding) {el.style.fontWeight = bingding.value;}},'fontsize': function (el, bingding) { //这个function等同于把代码写到了bind和update中去el.style.fontSize = parseInt(bingding.value) + 'px';}
}// 在dom中使用<div id="app2" v-color="'pink'" v-fontweight="200" v-fontsize="20"><p>{{date | dateFormat}}</p></div>
五.计算
computed:从现有的数据计算出新的数据
计算属性的值和data一样,可以直接使用,返回的值就是计算属性的值
计算和方法的区别:
1.使用方法的话,每次页面重新渲染都会执行一次,计算属性不会,计算出来的数据是只读,不能修改
2.计算属性是基于响应式依赖进行缓存的,计算属性的值一直存于缓存中,只要data数据不改变,每次访问计算属性,都会立刻返回缓存的结果,而不是在执行一次
3.方法是每次触发重新渲染,调用方法就会执行函数
例:
六.监听
watch:监听 如果数据发生变化就执行回调
监听的值类型:
- 函数类型:监听函数,会接收两个参数,第一个参数为newVal(被改变的值),第二个参数为oldVal(赋新值之前的值)
- 字符串类型:值为方法名字,被监听的数据改变,会执行方法
- 对象类型:
- handler:必须有,handle是被监听的数据改变时执行的回调函数,handler的值类型为函数/字符串类型
- deep:使用deep选项,可以发现对象内部的变化,将deep设置为true开启深度监听
七.模板
一个字符串模板作为Vue实例的标识使用,会替换挂载的元素,挂在元素的内容会被忽略
Vue基础教程,使用方法相关推荐
- Vue基础教程视频:
Vue基础教程视频: https://www.bilibili.com/video/av25142267 https://www.bilibili.com/video/av25143408 https ...
- vue基础教程总结篇,用最短的时间入门vue.js(持续更新...)
目前,vue已经成为前端工程师必会的框架之一,这里简单总结一下,可以让您快速的入门vue,师傅带进门,修行靠个人,最主要的还是自己多动手,多实践,本专栏会持续更新. 1.vue安装教程及简介 2.vu ...
- 2019最新《后盾网Vue教程 向军Vue基础教程 共86课》
1.向军老师Vue开发宝典-Vue.js介绍.mp4 2.向军老师Vue开发宝典-创建第一个应用.mp4 3.向军老师Vue开发宝典-操作元素属性.mp4 4.向军老师Vue开发宝典-Mustache ...
- 【融职培训】Web前端学习 第7章 Vue基础教程4 组件传值
一.组件传值的三种情况 我们可以把组件之间的数据传递分为三种情况: 父级向子级传递数据 子级向父级传递数据 非父子级传递数据 二.父级向子级传值 父级可以通过属性向自己传递数据,示例代码如下所示: 1 ...
- python类class定义_python基础教程之类class定义使用方法
面对对象(oop)中的对象,是一个非常重要的知识点,我们可以把它简单看做是数据以及由存取.操作这些数据的方法所组成的一个集合.我们在学习函数(function)之后,知道了如果重用代码,那为什么还要用 ...
- (转)jquery基础教程八 load方法及小技巧
首先我们看看手册上的描述 load(url, params, callback) 装入一个远程HTML内容到一个DOM结点. 注意:避免用装入的scripts脚本,装入脚本改用$.getScript. ...
- Solidity基础教程:合约的继承与方法的重写
Solidity基础教程:合约的继承与方法的重写 合约继承 合约继承使用is关键字 contract ERC721 is Context, ERC165, IERC721, IERC721Metada ...
- Spring Boot 2.x基础教程:JdbcTemplate的多数据源配置
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 在本系列之前的教程中,我们已经介绍了如何使用目前最常用的 ...
- Vue.js教程学习笔记
官方视频简易教程:https://learning.dcloud.io/ 1. 安装与部署 第一阶段(初学)可以通过在html文件中引入脚本来完成安装 <script src="vue ...
最新文章
- 复制活动记录记录的最简单方法是什么?
- linux 检测 iptables 是否有重复的规则
- Apache Shiro权限控制框架简介
- 视觉测试_视觉设计流行测验
- linux ubuntu php,linux ubuntu安装php运行环境
- 从考勤管理需求说起,聊聊场景的思维“工具”
- Navicat 11破解版
- 一次外网打不开网站的故障总结
- Kafka的安装部署(分布式部署安装)
- python3使用ddt框架进行外部传参
- mongodb 学习笔记--- 基础知识
- 草莓派Raspberry3B
- 编程语言大牛王垠的过去和现状
- 第一台电子计算机诞生于1944,(),第一台数字电子计算机问世。A、1944年B、1945年C、1946年 - 众答网问答...
- “更新 TKK 失败,请检查网络连接” 解决方法
- 支付宝周期扣款Java逻辑代码
- 如何获取微信小程序包
- 学生专用计算机怎么没声音,win7麦克风没声音怎么设置_电脑麦克风没声音怎么办...
- 布施改变命运的亲身证明_huadingjin_新浪博客
- tf.strided_slice函数
热门文章
- 计算机硬盘用u盘维修,硬盘坏了怎么在家自己修!
- 蓝桥杯开发板硬件资源和考点
- Python爬取PPT模板(requests+BeautifulSoup+多线程)
- 做系统注意点磁盘分区三:esp和msr
- 自动驾驶出租车(Robotaxi)商业化前景展望
- C# TextBox换行 自动显示至最后行
- 情商4-委婉含蓄,命令的方式行不通
- 垃圾慧分类微信小程序_基于图像识别、语音识别的垃圾分类小程序
- 出现Error response from daemon: Container xx is not running的解决方法
- 盘点2016:全球最具影响力的10大数据公司