<my-popup ref="mypopup">
<template v-slot:default>
<view style="width: 750upx;height: 750upx;">
<mySlot></mySlot>
</view>
</template>
</my-popup>
//mypopup.vue
<template>
<view class="mask" v-if="isShow">
<view class="body">
<view class="close" @click="close">
<uni-icons type="close" size="24"></uni-icons>
</view>
<view class="content">
<template v-if="isShow">
<slot></slot>
</template>
</view>
</view>
</view>
</template>
<script>
export default {
data(){
return{
isShow:false
}
},
methods:{
close(){
this.isShow=false
},
open(){
this.isShow=true
}
}
}
</script>
<template>
<view>
我是solt组件
</view>
</template>
<script>
export default {
mounted(){
console.log("==========solt组件挂载=========");
},
}
</script>
当 isShow为false时,myslot还是会挂载,控制台打印出==========solt组件挂载=========)

1***@qq.com
- 发布:2023-02-17 14:21
- 更新:2023-02-17 14:24
- 阅读:177
一个组件中使用slot 然后 v-if=false 一个组件中使用slot 然后 v-if=false 使用组件包裹一个组件, 这个组件还是会执行mounted 方法
分类:uni-app
1***@qq.com (作者)
微信小程序平台
2023-02-23 14:23