gpt4 book ai didi

vue.js - Vue中如何获取父模板组件

转载 作者:行者123 更新时间:2023-12-05 07:42:36 24 4
gpt4 key购买 nike

我知道在 vue 中,我可以使用 this.$parent获取 vdom 树中的上层组件。但我期待一些不同的东西:获取呈现当前组件的组件。

例如,我有一个带有模板的组件(名为 comp-container):

<template>
<comp-a>
<comp-b></comp-b>
</comp-a>
</template>

并且在 comp-b $parent将是 comp-a 的一个实例不是comp-container这是我所期待的。

我目前的方法是遍历 $parent属性直到我找到comp-b存在于 $options.components .此方法目前有效,但看起来很丑陋,如果 comp-b 就会中断。是全局注册的组件。有官方的方法可以做到这一点吗?

通过 props 作为 <comp-b :container="this"></comp-b> 传递父模板组件可能会完成这项工作,但它太冗长了,不受欢迎。

最佳答案

我不确定确切的用例,但基本上如果涉及插槽(我几乎假设,否则 $parent 将正常工作),您可以在以下位置找到渲染组件:this.$slots.default[0].context;

基本上,插槽的上下文属性是渲染上下文(渲染组件 - 即渲染组件的模板组件)。

仅使用 Vue 2 进行测试

关于vue.js - Vue中如何获取父模板组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44383831/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com