一、生命周期
beforeCreate created
beforeMount Mounted
beforeUpdate updated
beforeDestroy destroyed
(上图为网上某大佬画的图 我之前粘贴到笔记里了右下角有出处)
new Vue
1、初始化之前 初始化实例的方法和生命周期的钩子函数
created
2、注入响应式数据 这时data里才会有数据 请求数据的操作在这边实现
beforeMount
3、确认下是否设置挂载DOM元素 有没有写模版 若没有则编译outerHTML 若有则编译template里的内容
Mounted
4、把编译好的数据挂载到DOM元素,最后渲染成真实的DOM元素,若要操作DOM元素,则在mounted钩子函数里
beforeUpdate
5、数据更新前
Updated
6、数据更新后
手动执行 vm.$destroy ()
在销毁前 执行 beforeDestroy()
销毁后 执行 destroyed()
若销毁后,再更新数据,则视图不会发生改变
销毁的意思并不是把DOM整没
而是vm.$destroy();执行销毁后 我在控制台 再$vm.msg="seven"也不能修改页面的上的monkey了
二、实例上的方法和属性
- vm.$data 获取所有响应式的数据 是个对象
- vm.$el 挂载的根DOM元素
- vm.$options vue上所有的选项
- vm.$refs 获取真实的DOM元素 写多个 只能获取1个(后面的通过v-for遍历出的可以获取多个
- vm.$nextTick DOM元素渲染完之后会调用
- vm.$watch 监听属性变化
- vm.$mount 挂载根DOM元素
- vm.$destroy 销毁Vue实例