vue从入门到精通 day01

96 阅读4分钟

day01

  1. 安装chrome助手 目的允许你可以访问谷歌的商店
  2. 安装vue devtools vue的调试工具 可以让我们方便的去观察vue程序当中的数据
  3. 安装vscode vue插件 vue代码的补全

1、vue简介

​ 尤雨溪 ​ 参考文档(官网) ​ 渐进式:类似于迭代开发 ,vue.js只是一些核心代码,可以让你搭建基本页面 ​ 如果你的页面功能相对比较丰富,那么需要相关的一些插件去完成。

插件:就是一些功能代码模块。它是为了给已经完成的功能代码,额外去添加功能用的。
官方插件:vuex vue-router......官方出品的 都是vue官方的插件
第三方插件:也是为了给vue去添加功能用的,但是是别的人写的。比如axios

数据为尊  动态显示页面

2、初谈vue

​ 原生写法 ​ jquery写法 ​ vue写法(数据为尊)

​ 函数使用:函数和对象 配置对象:特点:属性名固定属性值可变的对象 挂载点 模板 数据 数据代理 模板语法(html + js组成)指令和插值 v-bind 指令操作(操作元素) 动态属性和表达式 {{}} 双花括号操作(文本内容) 表达式

3、数据绑定

​ 单向 v-bind 简写: : ​ 双向 v-model 一般表单类元素才能双向绑定 ​ MVVM: ​ M:model 模型的意思 本质就是我的data数据 ​ V:view 视图的意思 本质就是我的页面元素 ​ VM:ViewModel 视图模型的意思 本质就是我的vm实例 ​ ​

事件的绑定和处理  v-on:click   简写  @click 
	事件绑定:两个东西  事件类型   事件回调
	回调函数:定义了 没调用 但是执行了  (事件  ajax  定时器   生命周期回调)
 	vue当中的方法要在methods当中去配置,并且这些方法最终都也会变成vm的方法


3个重要点
	1). vue控制的所有回调函数的this都是vm
	2). 所有data/computed/methods中的属性/方法都会成为vm的属性/方法
	3). 模板中表达式读取数据, 是读取vm的属性;模板中调用函数, 调用的是vm的方法

4、挂载的两种方式和data的两种写法

5、Object.defineProperty方法 es5拓展的方法:Object.defineProperties 和 Object.defineProperty

​ 数据代理用到 ​ 计算属性用到 ​ 响应式数据的原理用到

6、computed计算属性 和 watch监视

姓名案例:firstName  lastName  fullName	

1、复杂的插值表达式写法

2、methods方法实现

3、computed计算属性实现

4、methods和computed的区别	
	计算属性效率是比较高的,因为有缓存

5、watch监视属性
	两种写法  配置项写法监视firstName   vm.$watch监视lastName

​ 6、watch监视实现computed的效果 immediate作用

7、computed和watch的区别
	同步计算属性
	异步watch
	他们作比较的时候   比较的是computed的getter,和setter没关系

8、计算属性的setter,只是为计算属性添加了监视,如果数据后期修改,会发生响应式的变化

8、强制绑定样式class和style

​ class动态绑定: ​ 1、类名不确定 字符串形式 ​ 2、类名确定,但是不知道哪个生效 对象形式 ​ 3、类名有几个都生效 数组形式
​ style动态绑定 ​ 1、必须把原来的东西写在对象当中,样式名不变,样式值是动态的 ​ 2、样式名如果不合法,要变为小驼峰写法

9、条件渲染

​ v-if v-else 隐藏的时候直接删除元素节点 文档流当中不存在(内存无) ​ v-show 隐藏的时候通过css display: none去隐藏 文档流当中还存在(内存有) ​ 哪个好? 要看怎么用:假设我们需要频繁的切换,那么v-show效率比较高但是占内存 ​ 假设我们切换不频繁,那么v-if v-else就比较好,不占内存

10、列表渲染 v-for

11、vue如何去监视数据变化而更新页面

​ 1、修改数组当中对象的属性,发现页面可以改变 ​ 2、调用数组的方法直接修改数组当中的整个对象,发现页面也可以改变 ​ 3、通过数组的下标直接修改数组当中的整个对象,发现页面改变不了 ​ 原因: ​ 修改数组当中对象的属性,都是可以修改的,因为对象的所有属性都添加了get和set方法(响应式数据),data当中所有的对象

	通过数组的方法去修改整个对象也是可以修改的,因为vue当中重写了数组的部分原生方法,额外添加了展示到页面的功能

	通过下标直接修改数组整个对象,不可以展示到页面,但是数据确实改了,因为数组的数据整体并没有添加get和set方法


对象数据和数组数据响应式的区别