需求:
父组件,通过 provide 传递了 视频方向的响应式值,该值会有一个初始化的默认值,并在获取视频方向的回调函数中,来动态改变
子组件,需要获取到父组件传递的视频方向,来执行一些逻辑。
这里我们在子组件中通过父组件传递响应式的变量,子组件接受后,通过 watch 监听该变量的改变,来动态执行逻辑。
代码如下:
// 父组件
import { ref, provide } from 'vue';
export default {
setup() {
const vDirection = ref(1);
const getVideoDirection = (direction) => {
vDirection.value = direction;
};
// Provide the reactive reference
provide('vDirection', vDirection);
return { getVideoDirection };
},
};
// 子组件
import { inject, watch, onMounted } from 'vue';
export default {
setup() {
const vDirection = inject('vDirection');
watch(vDirection, () => {
initShowBar()
})
onMounted(() => {
initShowBar()
})
},
};