有时需要vue组件传入的属性可修改
vue 组件传入的 props 属性是只读的,不能修改
但是,如果需要组件内部点击后,要关闭自己显示的情况,怎么办呢
目前找到的解决是用 watchEffect
watchEffect 立即运行一个函数,同时响应式地追踪其依赖,并在依赖更改时重新执行。
<script setup>
import {ref, watchEffect } from 'vue'
const props = defineProps({
文件项:Object,
显示:Boolean,
坐标:Object,
})
// props 里是只读的
const 显示控制 = ref(false)
watchEffect(() => { 显示控制.value = props.显示 ; } )
</script>
<template>
<div :show="显示控制" @click="显示控制 = false">显示区域</div>
</template>