- vue生命周期_组件进阶
- 生命周期
-
基本概念:一个组件从创建到最后销毁的整个过程就是生命周期
生命周期8个钩子函数
beforeCreate
数据初始化之前
created
数据初始化之后
发送ajax请求
beforeMount
DOM渲染之前
mounted
DOM渲染后
操作DOM
beforeUpdate
数据改变,DOM更新前
updated
数据改变,DOM更新后
beforeDestroy
销毁前
释放资源
destroyed
销毁后
- axios
-
安装
yarn add axios
-
导入
import axios from 'axios'
-
使用
axios({method: '', url: '', data: {}, params: {}}).then().catch()
- 组件进阶
-
ref与$refs
ref
作用:给标签或者组件添加一个标记(引用)
<div ref="a">
<demo ref="b">
this.$refs
作用:获取当前组件中所有的ref引用
this.$refs.a
this.$refs.b
-
$nextTick
1. 现象:数据发生改变,DOM会发生更新,但是是异步的
2. 问题:修改完了数据后,无法立即操作DOM
3. this.$nextTick
作用:等待DOM更新后,回调函数会立即执行
this.$nextTick(function(){})
this.$nextTick().then(() => {})
await this.$nextTick()
-
组件内name属性
引入此组件可以用name属性值作为组件名注册
- 购物车
-
封装头部组件
-
props的校验
props: []
只能接收,不能校验格式
props: {}
接收且校验,数据格式不对,会报错
props: {
A: String,
B: {
type: Number,
required: true
},
C: {
type: Number,
default: 0
}
}
Vue原型上添加全局属性
各个组件内可以通过this访问