首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从孙子节点访问父节点上的方法

如何从孙子节点访问父节点上的方法
EN

Stack Overflow用户
提问于 2021-10-07 16:12:26
回答 2查看 29关注 0票数 0

我不知道还能叫什么。我有一个文件,我们称它为parent.vue。它有以下特点

PARENT.vue

代码语言:javascript
运行
复制
<template>
  <input-box
    :room="currentRoom"
    v-on:messagesent="getMessages"
    class="dark:bg-gray-800 px-6 pb-6 pt-4 dark:border-t-2 dark:border-gray-600 bottom-0 sticky" />
</template>
代码语言:javascript
运行
复制
method:
  getMessages() {
    axios.get('/chat/room/' + this.currentRoom.id + '/messages')
    .then(response => {
      this.messages = response.data;
    })
    .catch(error => {
      console.log(error);
    })
  },

然后我有一个孩子,只要有什么事情发生,它就会调用v-on。问题是,我需要从孩子内部的孩子调用它。我在一个方法中有一个子对象,里面有一个"aka the aka“。

代码语言:javascript
运行
复制
this.$emit('messagesent');

我怎样才能在孙子孙女体内完成同样的事情。

EN

Stack Overflow用户

发布于 2021-10-07 16:22:12

如果你想保持封装性,就不需要。祖父母不应该知道孙子的事。它知道父组件,但不知道有多少子组件。原则上,您可以将祖父母的一个实现替换为另一个没有多个层的实现。或者有更多的层可以到达孩子。您可以将子级放入顶级组件中。

您已经了解了全局事件总线的概念。但是,总线不一定是全局的。你可以把它传到道具链的下面。(你可以使用祖父母本身作为公交车,但这会让它暴露在孩子面前;为了制造真正的公交车,需要更好的卫生条件。)

这区分了顶层组件和子组件:子组件将接收总线属性,以执行它帮助实现的顶层组件的功能。顶层组件将发起总线。

有关更多详细信息,请查看以下链接

https://andrejsabrickis.medium.com/https-medium-com-andrejsabrickis-create-simple-eventbus-to-communicate-between-vue-js-components-cdc11cd59860

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69484496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档