vue3 props 是对象的情况如何变为响应式?

如题,定义一个组件,设置 props 如下:

interface Props {

decorateConfig: {

'src'?: string

},

width?: number,

height?: number

}

const props = withDefaults(defineProps<Props>(), {

decorateConfig: () => {

return {

src: ''

}

}

})

当我直接定义

const src = props.decorateConfig.src

的时候,会提示这样会失去响应性

Getting a value from the `props` in root scope of `<script setup>` will cause the value to lose reactivity.

所以想问下,如何可以将这样的定义,转为响应性


回答:

render function 外部访问 props 的值,还想保留响应式的话,需要用 computed 来处理

const src = computed(() => props.decorateConfig.src)

以上是 vue3 props 是对象的情况如何变为响应式? 的全部内容, 来源链接: utcz.com/p/935087.html

回到顶部