vue3 provide的值 在回调函数中改变,inject 如何获取到最新的值?
需求:
父组件,通过 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() }) }, };
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战