作者:青藤摄影876 | 来源:互联网 | 2023-07-29 15:28
vue复习之生命周期函数与组件传值方法
###生命周期有哪些?分别做了些什么?
- beforeCreate: 开始创建vue实例
- created:此时进行了vue实例的配置:如获取了数据的obsever,data,方法,监听器,计算属性,监听属性。给实例开始了配置和属性。此阶段可以进行数据资源的获取。
- beforeMount:此时开始了计算实例的template模板,准备渲染和挂载,实例节点还未生成。
- mounted:vm节点已经生成,页面渲染结束。此时可以进行DOM节点的获取。
- beforeUpdate:这个节点主要视为更新做准备,通过Diff算法来计算生成虚拟DOM。
- updated:将虚拟节点打补丁到vue实例上,实现更新。这个阶段数据变化就会导致DOM更新,而DOM变化又会引起vue实例变化,所以开发不能在此次进行数据修改
- beforeDestory:开始准备销毁vue实例,此时vm还是可以访问。
- destoryed:销毁vue实例,销毁子组件实例,解绑所有的事件与属性,监听器等。这一步可以销毁所有可能还在的属性,如定时器等。
组件通信有哪些方法?
转载自vue组件间通信六种方式(完整版)
- props,$emit,子组件通过props接收,通过 emit响应返回数据
- vuex,
- $parent childrenref,父组件通过children ref,父组件通过childrenref,父组件通过children获取直接子组件,而子组件通过$parent获取直接父组件,而ref是直接获取组件实例。
- 非父子组件,bus. emit设置属性,emit设置属性,emit设置属性,bus.$on获取组件,基本思想:通过一个公共组件来接收属性,属性名不能重复。
- attrs:子组件用来接收父组件定义的所有非样式和props的属性,attrs:子组件用来接收父组件定义的所有非样式和props的属性,attrs:子组件用来接收父组件定义的所有非样式和props的属性,lisenter:依赖监听父组件所有的事件。
- 祖孙组件:祖组件使用provide来提供属性,孙组件使用inject来接收。