iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue3 非父子组件通信详解
  • 460
分享到

vue3 非父子组件通信详解

2024-04-02 19:04:59 460人浏览 独家记忆
摘要

目录第一种方法App.VueHome.vueHomeContent.vue数据的响应式修改响应式Property总结业务场景是,不是父子组件实现通信 文件目录 第一种方法 Ap

业务场景是,不是父子组件实现通信

文件目录

在这里插入图片描述

第一种方法

App.vue


<template>
  <div>
    <Home></Home>
    <button @click="addName">增加名字</button>
  </div>
</template>
 <script>
import Home from "./Home.vue";
import { computed } from "vue";
export default {
  name: "App",
  components: {
    Home,
  },
  provide() {
    return {
      name: "张三",
      age: 23,
      length: computed(() => this.names.length),
    };
  },
  data() {
    return {
      names: ["张三", "李四", "王五"],
    };
  },
  methods: {
    addName() {
      this.names.push("fuck you");
      console.log("hhhh");
    },
  },
};
</script>
 <style scoped>
</style>

Home.vue


<template>
  <div>
    <div>我是home</div>
    <home-content></home-content>
  </div>
</template>
 <script>
import HomeContent from "./HomeContent.vue";
export default {
  name: "Home",
  components: {
    HomeContent,
  },
};
</script>
 <style scoped>
</style>

HomeContent.vue


<template>
  <div>HomeContent:{{ name }}--{{ age }}---{{ length }}</div>
</template>
 <script>
export default {
  inject: ["name", "age", "length"],
};
</script>
 <style lang="sCSS" scoped>
</style>

vue3中使用Provide函数和Inject函数

事实上我们之前还学习过Provide和Inject,Composition api也可以替代之前的 Provide 和 Inject 的选项。

我们可以通过 provide来提供数据:

provide可以传入两个参数:

name:提供的属性名称;

value:提供的属性值;

在这里插入图片描述

在 后代组件 中可以通过 inject 来注入需要的属性和对应的值:

可以通过 inject 来注入需要的内容;

inject可以传入两个参数:

要 inject 的 property 的 name;

默认值;

在这里插入图片描述

数据的响应式

为了增加 provide 值和 inject 值之间的响应性,我们可以在 provide 值时使用 ref 和 Reactive。

修改响应式Property

如果我们需要修改可响应的数据,那么最好是在数据提供的位置来修改:我们可以将修改方法进行共享,在后代组件中进行调用;

注意

如果我们子组件应该是只能使用,不能修改的状态

在这里插入图片描述

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!

--结束END--

本文标题: vue3 非父子组件通信详解

本文链接: https://www.lsjlt.com/news/137655.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue3 非父子组件通信详解
    目录第一种方法App.vueHome.vueHomeContent.vue数据的响应式修改响应式Property总结业务场景是,不是父子组件实现通信 文件目录 第一种方法 Ap...
    99+
    2022-11-12
  • 详解vue3中的非父子组件传值
    目录App.vuesub1.vuesub2.vue总结 vue2中非父子组件的传值主要是通过事件总线,创建一个vue实例,通过在不同的组件中导入该实例来实现非父子组件之间的通信行...
    99+
    2022-11-12
  • Vue非父子组件之间的通信方式详解
    目录非父子组件的通信1.Provide和Inject1.1基本使用1.2处理响应式数据(了解)2.全局事件总线总结非父子组件的通信 此篇讲解的是, 在学习状态管理之前, 非父子间通信...
    99+
    2022-11-13
  • angular父子组件通信详解
    目录用到的api简单的例子person.ts父组件子组件效果总结用到的api Input - 子组件中定义可接受的属性,可以用来父组件给子组件传递数据 Output - 子组件中定义...
    99+
    2022-11-12
  • React中父子组件通信详解
    目录父组件向子组件通信存在期父组件向子组件通信 在父组件中,为子组件添加属性数据,即可实现父组件向子组件通信。传递的数据可以分成两类 子组件是作为属性来接收这些数据的 第一类就是数据...
    99+
    2022-11-13
  • vue3 父子组件传值详解
    现在距离vue3的诞生已经过了很长时间了,笔者也是近期才开始学习vue3。对比vue2来看,vue3在写法发生了不小的变化,最典型的例子就是vue3通过ref,或者reactive实...
    99+
    2022-11-12
  • vue中非父子组件的通信你了解吗
    目录一、Provide和Inject二、Provide和Inject的另一种写法三、全局事件总线mitt库总结我们总结了父子组件通信方式有:props + emi...
    99+
    2022-11-13
  • vue3中的父子组件通讯详情
    目录一、传统的props二、通过modeValue绑定三、事件广播(vue3中$on和$emit已废弃),使用新的插件mitt一、传统的props 通过在父组件中给子组件传值,然后在...
    99+
    2022-11-13
  • vue3中非父子组件如何传值
    小编给大家分享一下vue3中非父子组件如何传值,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!vue2中非父子组件的传值主要是通过事件总线,创建一个vue实例,通过在不同的组件中导入该实例来实现非父子组件之间的通信行为。vu...
    99+
    2023-06-22
  • Vue组件通信之父传子与子传父详细讲解
    目录父组件传递给子组件浅谈Props子组件传递给父组件父组件传递给子组件 父组件传递给子组件:通过props属性;子组件传递给父组件:通过$emit触发事件; 这里我们知道,父组件...
    99+
    2022-11-13
    Vue组件通信 Vue组件通信父传子 Vue组件通信子传父
  • Vue 中怎么实现非父子组件通信
    这篇文章给大家介绍Vue 中怎么实现非父子组件通信,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Vue 官网介绍了非父子组件通信方法:不过官网说的太简单了,新手看完估计还是一脸懵逼。还...
    99+
    2022-10-19
  • Vue中怎么实现非父子组件通信
    这篇文章将为大家详细讲解有关Vue中怎么实现非父子组件通信,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。组件是Vue核心的一块内容,组件之间的通信也是很基本...
    99+
    2022-10-19
  • 详解Angular父子组件通讯
    目录概述一、输入输出属性概述二、输入属性三、属性绑定是单向的,从父组件到子组件四、输出属性1、先模拟一个实时变动的IBM的股票价格2、把信息输出出去,告诉组件外部,谁感兴趣谁来订阅3...
    99+
    2022-11-12
  • vue中如何实现非父子组件的通信
    这篇文章主要介绍了vue中如何实现非父子组件的通信,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、Provide和InjectProvide和Inject用于非父子组件之间...
    99+
    2023-06-29
  • Vue组件通信方式(父传子、子传父、兄弟通信)
    目录父组件传到子组件子组件向父组件传值非父子传参 (事件总线)vue 跨页面双向通信同源通信非同源通讯父组件传到子组件 父组件是通过props属性给子组件通信的 数据是单向流动 父&...
    99+
    2022-11-13
  • Vue3父子组件间传参通信的四种方式
    目录前言一、父传子 defineProps二、子传父 defineEmits三、子组件暴露属性给父组件 defineExpose四、依赖注入Provide / Inject参考总结前...
    99+
    2023-05-19
    vue父子组件如何传递参数 vue父子组件传值的方法 vue组件传参方式
  • Vue3父子组件间通信、组件间双向绑定的方法
    父子组件可通过事件 进行通信前面的笔记 —— 《Vue3 | 组件的定义及复用性、局部组件、全局组件、组件间传值及其校验、单项数据流、Non-props属性》,单向数据流的概念,即子组件无法修改来自父组件的数据字段,假如确要修改,可以使用下...
    99+
    2023-05-15
    Vue3
  • Vue实现非父子组件通信的方法是什么
    本篇内容介绍了“Vue实现非父子组件通信的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!组件是Vue核心的一块内容,组件之间的通信...
    99+
    2023-07-04
  • vue3父组件和子组件如何传值实例详解
    目录1.父组件打开子组件的的dialog组件 2.父组件关闭子组件的的dialog组件3.开始运用: 用户的增加修改操作1.父组件的修改 2.子组件的修改3.父组...
    99+
    2022-11-13
    vue3 父子组件传值 vue3子组件给父组件传值 vue3.0父子组件传值
  • Vue父子组件通信全面详细介绍
    目录1.Vue父子组件通信方式2.不同文件间的通信方式1 .父组件vue文件和子组件vue文件2 .父组件jsx文件和子组件vue文件3 .父组件vue文件和子组件jsx文件4 .父...
    99+
    2022-11-13
    vue的父子组件通信 vue父子组件通信例子
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作