实际开发过程中,当需要通过 watch 监听传入的 props 的某个值的变化,来动态改变组件内部的样式,实现方式如下:
export default {
name: 'countdown',
props: {
showBox: {
type: Boolean,
required: true,
default: false
},
},
setup (props, { emit }) {
// !!!此种方式不可监听到变化
const showBox2 = toRefs(props.showBox)
watch(showBox2, (val) => {
if (val) {
// startCountdown()
} else {
// clearCountdown()
}
})
// 下面方式可以监听到值改变
watch(() => props.showBox, (val) => {
if (val) {
// startCountdown()
} else {
// clearCountdown()
}
})
}
}