首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Vue.js中访问父组件中的子组件

如何在Vue.js中访问父组件中的子组件
EN

Stack Overflow用户
提问于 2022-05-27 03:37:39
回答 1查看 1.7K关注 0票数 0

我想访问父组件中的方法,并且该方法存在于子组件中。我试过用混合药。但是函数返回的是null而不是值。如果我试图发出对象,并且它在父组件中工作得很好。如何在vue3选项API中访问父类中的子方法?

Parent.vue

代码语言:javascript
复制
export default defineComponent({
  name: 'App',
  components: {
    HelloWorld
  },
  mixins: [HelloWorld],
  methods: {
    fetchval(){
      let x = this.getVal();
      console.log(x);
    }
  }
});
</script>

Child.vue

代码语言:javascript
复制
export default defineComponent({
  name: 'HelloWorld',
  dat(){
    let val!: string;
    return{
      val,
    }
  },
  computed: {
    value: {
      get() {
        return this.val as string;
      },
      set(newval) {
        val = newval;
      }
    }
  },
  methods: {
   getVal(){
     return this.value as string;
   }
 }
});
</script>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-27 04:10:12

也许最好重新考虑控制流,这样它就有了一个清晰的关注点。

  • 父级不应直接访问子方法。如果应该通过单击按钮调用该方法,则子节点可以处理该单击并将事件发送回父callabck处理程序。有关详细信息,请参阅
  • 您也可以查看状态管理,它可以实现您想要的。链接博士

尽管如此,在父类中声明组件并将该组件包含在父级的混合器中似乎并不常见,也可能不是一个好的实践。

只是一个快速的答案,也许有更多的方法来实现你的愿望。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72400204

复制
相关文章

相似问题

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