vue2.0非父子组件间怎么进行通讯?

下面vue.js教程栏目给大家介绍一下vue2.0非父子组件间进行通讯的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

vue2.0非父子组件间怎么进行通讯?

在vue中,父组件向之组件通讯使用的是props,子组件向父组件通讯使用的是$emit+事件,那非父子间的通讯呢,在官方文档上只有寥寥数笔,

vue2.0非父子组件间怎么进行通讯?

概念很模糊,这个空的vue实例应该放在哪里呢,光放文档并没有明确的描述,经过查证一些其他的资料,发现其实这个非父子间的通讯是这么用的:

立即学习“前端免费学习笔记(深入)”;

首先,这个空的实例需要放到根组件下,所有的子组件都能调用,即放在main.js下面,如图所示:

import Vue from 'vue'import App from './App'import router from './router'Vue.config.productionTip = false;/* eslint-disable no-new */new Vue({  el: '#app',  router,  data:{    Hub:new Vue()  },  template: '',  components: { App }});

登录后复制

  我的两个组件分别叫做child1.vue,child2.vue,我现在想点击child1.vue里面的按钮来改变child2.vue里面的数值,这个时候我们需要借助一个$root的工具来实现:

child1.vue:

  p this is child    span(@click="correspond") 点击进行非组件之间的通信  export default{    methods: {      correspond(){          this.$root.Hub.$emit("change","改变")      }    }  }

登录后复制

child2.vue:

  p this is child2    span {{message}}  export default{    data(){      return {        message: "初始值"      }    },    created(){      this.$root.Hub.$on("change", () => {        this.message = "改变"      })    }  }

登录后复制

此时就已经可以达到我们想要的效果啦。

相关推荐:2020年前端vue面试题大汇总(附答案)vue教程推荐:2020最新的5个vue.js视频教程精选

更多编程相关知识,请访问:编程教学!!

以上就是vue2.0非父子组件间怎么进行通讯?的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/3022953.html

(0)
上一篇 2025年3月13日 06:01:05
下一篇 2025年3月10日 21:04:15

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • vue3.0和vue2.0的区别是什么?

    区别:vue2.0中不管数据多大,都会在一开始就为其创建观察者;当数据很大时,这可能会在页面载入时造成明显的性能压力。而vue3.0只会对“被用于渲染初始可见部分的数据”创建观察者,而且vue3.0的观察者更高效。 vue3.0和2.0的区…

    2025年3月13日
    200
  • Vue中如何使用$attrs和$listeners进行组件通讯?

    vue中如何使用$attrs和$listeners进行组件通讯? 在Vue开发中,组件间的通讯经常会用到props和$emit,但在某些情况下,这两种方法可能不太适用,例如当我们在封装一个高阶组件或者需要将所有属性传递给子组件时。Vue提供…

    编程技术 2025年3月13日
    200
  • Vue中如何使用vuex进行全局组件通讯?

    vue是一款流行的前端框架,可以帮助我们快速构建交互式的web应用程序。在vue中,组件是构建应用程序的基本单元,每个组件负责特定的功能。然而,有时候我们需要在不同的组件之间进行通信,特别是当我们想要在全局范围内共享数据时。这就是为什么vu…

    编程技术 2025年3月13日
    200
  • Vue中如何使用插槽进行组件通讯?

    vue中如何使用插槽进行组件通讯? 在Vue中,组件是构建Web应用程序的核心。一个常见的需求是让父组件与子组件进行通讯,以便在不同的组件中传递数据或执行特定的操作。Vue提供了一种名为插槽(slot)的机制,可以使得组件之间的通讯变得更加…

    编程技术 2025年3月13日
    200
  • Vue中如何使用event bus进行组件通讯?

    vue中如何使用event bus进行组件通信? 概述:在Vue应用程序中,组件通信是非常重要的一部分。当我们需要在不同的组件之间进行数据传递或事件触发时,可以使用Vue的event bus机制。Event bus是一种用于在不同组件之间进…

    编程技术 2025年3月13日
    200
  • Vue中如何使用mixins进行组件通讯?

    vue中如何使用mixins进行组件通讯? 在Vue中,组件之间的通讯是一个非常重要的话题。它允许不同的组件之间共享数据、方法和逻辑,以便更好地实现组件的复用和拆分。Vue提供了一种机制,叫做mixins(混入),可以方便地实现组件之间的通…

    编程技术 2025年3月13日
    200
  • Vue中如何使用vuex进行组件通讯?

    vue中如何使用vuex进行组件通讯? Vue是一款流行的JavaScript框架,它采用组件化的开发模式,使得我们能够更方便地构建复杂的应用程序。在Vue的组件化开发过程中,经常会遇到需要不同组件之间进行通信的情况。Vuex是Vue官方推…

    编程技术 2025年3月13日
    200
  • Vue2.0设置全局样式实例分享

    本文主要为大家详细介绍了vue2.0设置全局样式(less/sass和css),具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能帮助到大家。 为Vue设置全局样式需要几个步骤(如果是sass将less改成sass即可) 第一步:在s…

    2025年3月8日
    200
  • Vue2.0 axios前后端登陆拦截器详解

    本文主要为大家带来一篇vue2.0 axios前后端登陆拦截器(实例讲解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。 vue更新到2.0之后,作者就宣告不再对vue-resource更…

    2025年3月8日
    200
  • Vue2.0关于父组件与子组件之间的事件发射与接收

    本文主要和大家介绍vue2.0父组件与子组件之间的事件发射与接收实例代码,需要的朋友可以参考下,希望能帮助到大家。 关于vue2.0的事件发射和接收,大家都知道$dispatch和$broadcast在vue2.0已经被弃用了,取而代之的是…

    2025年3月8日 编程技术
    200

发表回复

登录后才能评论