问题?

在我们实际开发中,发现子组件在接收父组件传递过来的参数后,会渲染出来,但是当父组件的数据改变后,子组件并不会重新去渲染。

原因:

子组件我们采用了script setup的写法,它内部的代码只会在组件首次创建的时候执行,这就导致,当我们传递的数据变化时,子组件的数据并不会变化。

解决:

子组件是通过 useAttrs() 来接收父组件传递的参数的,那么,我们在子组件的 onUpdate() 这个生命周期中,将获取的父组件参数重新赋值,子组件就会渲染最新的数据了。