vue生命周期及实例的属性和方法
一、生命周期
beforeCreate:“组件实例刚刚创建,还未进行数据观测和事件配置”
created:“实例已经创建完成,并且已经进行数据检测和事件配置”
beforeMount:“模板编译之前,还没有挂载”
mounted:“模板编译之后,已经挂载,此时才会渲染页面,才能看到页面上数据的显示”
beforeUpdate:“组件更新之前”
updated:“组件更新之后”
beforeDestroy:“组件销毁之前”
destroyed:“组件销毁之后”
二、计算属性
1、基本用法
计算属性也是用来储存数据,但具有以下几个特点
a.数据可进行逻辑处理操作
b.对计算属性中的数据进行监视
2、计算属性 vs 方法
将计算属性的get函数定义为一个方法也可以实现类似的功能
a.计算属性是基于依赖进行更新的,只有在相关发生改变时才能更新变化
b.计算属性是缓存的,只要相关的依赖没有改变,多次访问计算属性得到的值是之前缓存的计算结果,不会多次执行
3、get和set
计算属性由两部分组成,get和set,分别用来获取计算属性得到的值是之前缓存得到的计算结果,不会多次执行
默认get,如果需要set需要自己添加
三、vue的实例属性和方法
1、属性
vm.$el//获取vue实例光联的元素
vm.$data//获取数据对象
vm.$options//自定义属性
vm.$refs//获取所有添加ref属性的元素
2、方法
a)、vm.$mount()//手动挂载vue实例
b)、vm.$destroy()//销毁实例
c)、vm.nextTick([callback])// 在DOM更新完成后在执行回调函数,一般在修改数据后使用方法,以便获取更新后的DOM
//修改数据
//DOM还没更新完,vue实现响应式并不是数据发生改变之后DOM立即变化,需要按一定的策略进行DOM更新,需要时间!!
d)、vm.$set(obj,key,value)//为对象添加属性并且指定值
this.obj.key=value;//通过普通方式为对象添加属性时vue无法实时监听到数据
vm.$set(obj,key,value)//通过vue实例的$set方法为对象添加属性,可以实时监视
e)、vm.$delete(obj,key)//删除对象属性
f)、vm.$watch(data)//检测数据的变化
1.方法一:使用vue实例提供的$watch()方法
vm.$watch('name',(newValue,oldValue)=>{})//监测“字符串”
vm.$watch('user',(newValue,oldValue)=>{},true)//监测“对象”
2.方法二:使用vue实例提供的watch选项
new Vue({ el:"#container", data:{ name:"", age:21, user:{ id:1, name:"小零" } }, watch:{ age:(newValue,oldValue)=>{},//监测“字符串” user:{ handler:(newValue,oldValue)=>{ newValue,oldValue//取值一样,引用类型对象 },//监测“对象” deep:true//深度监视,当对象中的属性发生变化时也会监视 } } })