1***@qq.com
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
<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组件挂载=========)
2023-02-17 14:21 负责人:无 分享
已邀请:
DCloud_UNI_WZF

DCloud_UNI_WZF

检查下代码逻辑,如确认框架问题,提供最简可复现demo及运行平台

  • 1***@qq.com (作者)

    微信小程序平台

    2023-02-23 14:23

该问题目前已经被锁定, 无法添加新回复