首页 > 其他分享 >vue3 provide的值 在回调函数中改变,inject 如何获取到最新的值?

vue3 provide的值 在回调函数中改变,inject 如何获取到最新的值?

时间:2024-11-11 15:30:58浏览次数:1  
标签:const provide vue3 watch inject vDirection 组件

需求:

父组件,通过 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()
    })
  },
};

 

标签:const,provide,vue3,watch,inject,vDirection,组件
From: https://www.cnblogs.com/beileixinqing/p/18539813

相关文章

  • Udemy Vue3 Course
    v-bindv-htmlv-on,简写@有时候会用到$event,使得修改input输入框内的值,同时改变显示的内容。双向绑定·v-model:![](https://img2024.cnblogs.com/blog/1876332/202411/1876332-20241108143044905-1750838567.png)一个顶俩,一个v-model顶v-bind:value+v-on:input`。动态......
  • VUE3实现好看的通用网站源码模板
    文章目录1.设计来源1.1网站主界面1.2登录界面1.3注册界面1.4图文列表模板界面1.5简洁列表模板界面1.6文章内容左右侧模板界面1.7文章内容模板界面2.效果和源码2.1动态效果2.2源代码2.3目录结构源码下载万套模板,程序开发,在线开发,在线沟通作者:xcLeigh文章......
  • vue3+element plus +js 实现树形和末级展开是表格
    1、实现一个树形和末级展开是表格,需要支持大数据量,因此使用VirtualizedTable虚拟化表格 el-table-v22、效果图 3、代码<template><el-table-v2:header-height="0"v-model:expanded-row-keys="expandedRowKeys":columns="columns"......
  • Vue3 + Pinia:轻松存储数据的终极指南
    Hey小伙伴们!今天我们要聊的是Vue3中一个非常强大的状态管理库——Pinia。Pinia不仅简化了状态管理的复杂度,还提供了丰富的功能,让你在存储数据时更加得心应手。让我们一起来看看如何在Vue3项目中使用Pinia存储数据吧!......
  • vue3中利用路由信息渲染菜单栏
    1.创建路由时将路由信息对象进行抽离将路由信息对象单独抽离到router/routes.ts文件关键:利用路由元信息meta,定义3个属性hidden:控制当前路由是否显示在菜单栏中title:菜单拦名称icon:对应菜单名称前面的图标//对外暴露配置路由(常量路由)exportconstconstantRout=[{......
  • webpack5 + vue3 从零配置项目
    前言虽然在实际项目当中很少会从0到1配置一个项目,毕竟很多重复工作是没有必要的,脚手架将这些重复性的工作进行了整合,方便开发者使用。也正因如此,导致部分开发者过于依赖脚手架,却不清楚其内部的实现流程,因此通过从0到1去配置和搭建项目可以更好的理解开发中使用的脚......
  • Vue3.5新增的baseWatch让watch函数和Vue组件彻底分手
    Vue3.5版本中新增的`baseWatch`函数确实让`watch`函数与Vue组件彻底分手。这一变化的主要目的是使`watch`函数的实现与Vue组件及其生命周期解耦,从而使得`watch`函数更加灵活和独立。具体来说,`baseWatch`函数的引入使得开发者可以在不依赖Vue组件的情况下使用`watch`功能,这为......
  • Vue3 - 详细实现将多个文件批量导出为ZIP压缩包格式并下载功能,vue3将文件批量下载打包
    前言Vue2版本,请访问这篇文章。在vue3|nuxt3项目开发中,详解实现把多个文件组合成一个ZIP压缩包格式下载到用户本地,将文件批量下载打包成zip格式并自定义压缩包命名名称,vue3批量下载文件并导出为压缩包的功能,如何将后端返回的二进制文件流打包成zip格式,支持任意文件......
  • vue3组件应用 + 以及组件相关知识应用
    文章目录vue组件化开发一、什么是Vue组件化开发二、组件的创建方式三、组件的数据传递四、组件的生命周期五、组件的插槽(Slot)数据传递的方式实例组件生命周期应用场景插槽应用define相关应用vue组件化开发一、什么是Vue组件化开发概念Vue组件化开发是一种将用......
  • JAVA毕业设计198—基于Java+Springboot+vue3的健身房管理系统(源代码+数据库)
    毕设所有选题:https://blog.csdn.net/2303_76227485/article/details/131104075基于Java+Springboot+vue3的健身房管理系统(源代码+数据库)198一、系统介绍本项目前后端分离(可以改为ssm版本),分为用户、管理员两种角色1、用户:注册、登录、公告、论坛交流、健身课程购买......