一.引入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基础教程,使用方法相关推荐

  1. Vue基础教程视频:

    Vue基础教程视频: https://www.bilibili.com/video/av25142267 https://www.bilibili.com/video/av25143408 https ...

  2. vue基础教程总结篇,用最短的时间入门vue.js(持续更新...)

    目前,vue已经成为前端工程师必会的框架之一,这里简单总结一下,可以让您快速的入门vue,师傅带进门,修行靠个人,最主要的还是自己多动手,多实践,本专栏会持续更新. 1.vue安装教程及简介 2.vu ...

  3. 2019最新《后盾网Vue教程 向军Vue基础教程 共86课》

    1.向军老师Vue开发宝典-Vue.js介绍.mp4 2.向军老师Vue开发宝典-创建第一个应用.mp4 3.向军老师Vue开发宝典-操作元素属性.mp4 4.向军老师Vue开发宝典-Mustache ...

  4. 【融职培训】Web前端学习 第7章 Vue基础教程4 组件传值

    一.组件传值的三种情况 我们可以把组件之间的数据传递分为三种情况: 父级向子级传递数据 子级向父级传递数据 非父子级传递数据 二.父级向子级传值 父级可以通过属性向自己传递数据,示例代码如下所示: 1 ...

  5. python类class定义_python基础教程之类class定义使用方法

    面对对象(oop)中的对象,是一个非常重要的知识点,我们可以把它简单看做是数据以及由存取.操作这些数据的方法所组成的一个集合.我们在学习函数(function)之后,知道了如果重用代码,那为什么还要用 ...

  6. (转)jquery基础教程八 load方法及小技巧

    首先我们看看手册上的描述 load(url, params, callback) 装入一个远程HTML内容到一个DOM结点. 注意:避免用装入的scripts脚本,装入脚本改用$.getScript. ...

  7. Solidity基础教程:合约的继承与方法的重写

    Solidity基础教程:合约的继承与方法的重写 合约继承 合约继承使用is关键字 contract ERC721 is Context, ERC165, IERC721, IERC721Metada ...

  8. Spring Boot 2.x基础教程:JdbcTemplate的多数据源配置

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 在本系列之前的教程中,我们已经介绍了如何使用目前最常用的 ...

  9. Vue.js教程学习笔记

    官方视频简易教程:https://learning.dcloud.io/ 1. 安装与部署 第一阶段(初学)可以通过在html文件中引入脚本来完成安装 <script src="vue ...

最新文章

  1. 复制活动记录记录的最简单方法是什么?
  2. linux 检测 iptables 是否有重复的规则
  3. Apache Shiro权限控制框架简介
  4. 视觉测试_视觉设计流行测验
  5. linux ubuntu php,linux ubuntu安装php运行环境
  6. 从考勤管理需求说起,聊聊场景的思维“工具”
  7. Navicat 11破解版
  8. 一次外网打不开网站的故障总结
  9. Kafka的安装部署(分布式部署安装)
  10. python3使用ddt框架进行外部传参
  11. mongodb 学习笔记--- 基础知识
  12. 草莓派Raspberry3B
  13. 编程语言大牛王垠的过去和现状
  14. 第一台电子计算机诞生于1944,(),第一台数字电子计算机问世。A、1944年B、1945年C、1946年 - 众答网问答...
  15. “更新 TKK 失败,请检查网络连接” 解决方法
  16. 支付宝周期扣款Java逻辑代码
  17. 如何获取微信小程序包
  18. 学生专用计算机怎么没声音,win7麦克风没声音怎么设置_电脑麦克风没声音怎么办...
  19. 布施改变命运的亲身证明_huadingjin_新浪博客
  20. tf.strided_slice函数

热门文章

  1. 计算机硬盘用u盘维修,硬盘坏了怎么在家自己修!
  2. 蓝桥杯开发板硬件资源和考点
  3. Python爬取PPT模板(requests+BeautifulSoup+多线程)
  4. 做系统注意点磁盘分区三:esp和msr
  5. 自动驾驶出租车(Robotaxi)商业化前景展望
  6. C# TextBox换行 自动显示至最后行
  7. 情商4-委婉含蓄,命令的方式行不通
  8. 垃圾慧分类微信小程序_基于图像识别、语音识别的垃圾分类小程序
  9. 出现Error response from daemon: Container xx is not running的解决方法
  10. 盘点2016:全球最具影响力的10大数据公司