组件的创建
1.组件的生命周期函数
组件注册
components
<template>
<view>
这是test组件
</view>
</template>
<script>
export default {
name: "test",
data() {
return {
};
}
}
</script>
<style>
</style>
使用这个组件
html
<template>
<view>
<test></test>
</view>
</template>
<script>
import test from "../../components/test.vue" //导入组件
export default {
data() {
return {
}
},
methods: {
},
components: { //注册组件
test
}
}
</script>
组件生命周期
uni-app
组件支持的生命周期,与vue标准组件的生命周期相同。这里没有页面级的onLoad等生命周期:
函数名 | 说明 | 平台差异说明 | 最低版本 |
---|---|---|---|
beforeCreate | 在实例初始化之前被调用。详见 | ||
created | 在实例创建完成后被立即调用。详见 | ||
beforeMount | 在挂载开始之前被调用。详见 | ||
mounted | 挂载到实例上去之后调用。详见 注意:此处并不能确定子组件被全部挂载,如果需要子组件完全挂载之后在执行操作可以使用$nextTick Vue官方文档 |
||
beforeUpdate | 数据更新时调用,发生在虚拟 DOM 打补丁之前。详见 | 仅H5平台支持 | |
updated | 由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用该钩子。详见 | 仅H5平台支持 | |
beforeDestroy | 实例销毁之前调用。在这一步,实例仍然完全可用。详见 | ||
destroyed | Vue 实例销毁后调用。调用后,Vue 实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁 |
js
beforeCreate() { //初始化未完成
console.log("实例已经开始初始化了")
console.log(this.num)
},
created() { //初始化完成
console.log("created")
console.log(this.num)
},
beforeMount() { //在挂载开始之前被调用
console.log("beforemount")
},
mounted() { //挂载到实例上去之后调用
console.log('mounted')
}