components: A组件
<template>
<view class="content">
A
</view>
</template>
components: B组件
<template>
<view class="content">
B
</view>
</template>
pages/index/index
<template>
<view class="content">
<block v-if="!token">
<A ref="AIndex" />
</block>
<block v-else>
<B ref="BIndex" />
</block>
</view>
</template>
<script>
import { A } from "/components/A/index.vue"
import { B } from "/components/B/index.vue"
export default {
components: {
A,
B,
},
data() {
return {
token: '',
}
},
onShow() {
this.getData()
},
methods: {
getData(){
if(!this.token){
this.$refs.AIndex?.getData()
}else{
this.$refs.BIndex?.getData()
}
},
}
}
</script>