MVVM (理解)是一门框架
M:model---数据层 V:view---视图层 VM:viewModel ---视图数据层
一.属性
1.options
1).el----element的简写,选择器
2).data---Vue实例存放数据的地方,是以键值对的方式来存放,在节点中使用的话,使用{ {}}来进行绑
3).methods ---vue实例存放事件的地方
2.vue指令 v-
1).v-bind:vue的单向绑定,绑定的是标签属性,缩写: ( 单向绑定是数据发生变化,页面也跟着发生变化,反之不会 )
2).v—on:事件名 用来绑定事件,结合methods一起使用,缩写@
3).v—model双向绑定,使用在input输入框中
原理:v-model除了绑定值之外,额外其实还绑定了一个事件,此事件是把更改后的值赋值给绑定的数据
4).v-if控制的是元素的渲染和卸载的过程
5).v-show控制的是元素的display属性,频繁切换时,建议使用;
6). v-for 列表渲染(数据是数组或者是对象的情况下),key一定要添加上去
缺陷 在针对于数组的排序,翻转,增加的时候会出现页面错乱需要加上key,取消就地复用(为什么v-for需要添加key的原因)
二.就地复用原则
就地复用原则---vue在渲染页面的时候,如果满足以下条件,就会使用就地复用原则来去进行加速渲染
标签系统,和属性都相同
三.生命周期---生命钩子--钩子函数
八个生命周期,四个阶段,每个阶段分为前后
创建 create,挂载(mount),更新(update),销毁(destroy)
a.beforeCreate(创建前)数据和节点都暂未生成,vue在实例初始化中
b.created(创建后)数据已经生成了,节点还没有,---数据优先,常用于向后台请求数据
c.beforeMount(挂载前)节点和数据都已经生成,但是还没渲染页面,为真正的挂载作准备
d.mounted(挂载后)已经挂载完毕,页面已经正常显示,操作节点(虚拟节点,Vdemo)
e.beforeUpdate(更新前)检测到数据有变化,准备需要更新的信息
f.updated(更新后)将更新后的数据渲染到页面
g.beforeDestroy(销毁前)
f.destroyed(销毁后)所有的事件监听器,子实例,观察器都会被销毁
四.计算属性(computed)和侦听器(watch)
computed:针对于data数据做一些逻辑处理,里面是一个方法,方法要返回,定义好之后可以直接当做data数据使用
computed和methods的区别:computed是具有缓存作用,需要依赖于data里面的数据,但是methods不需要
watch
监听器---都是方法,方法名是比较特殊,方法名是需要监听的data属性
1.浅度监听---基本数据类型
2.深度监听---引用数据类型,需要声明deep(滴普):true来开启深度监听
五. 事件修饰符
.stop阻止事件冒泡
.prevent阻止默认行为
.self是当前元素自身时触发
.once事件将只会触发一次
.passive立即触发浏览器默认行为,运行更流畅
.navigate()触发到底层组件的事件
Vue.set( , ,)参数1操作