如何在VueJs中获取子组件的数据?

套件

这是一个简单的问题,但我不知道使用Vue2正确执行的最佳方法:

父组件:

<template>
  <div class="parent">
    <child></child>
    {{value}} //How to get it
  </div>
</template>

子组件:

<template>
  <div class="child">
    <p>This {{value}} is 123</p>
  </div>
</template>

<script>
export default {
  data: function () {
    return { value: 123 }
  }
}
</script>
十年月亮

您可以通过以下方式实现此目的:

  • 您可以直接通过引用访问子VM,但这会很麻烦,因为在子组件已安装且$refs不会响应之前,不会填充该引用,这意味着您必须做一些棘手的事情:

    <template>
      <div class="parent">
        <child ref="child"></child>
        <template v-if="mounted">{{ $refs.child.value }}</template>
      </div>
    </template>
    
    data() {
      return {
        mounted: false
      }
    },
    
    mounted() {
      this.mounted = true;
    }
    
  • $emit 子组件中的值,以便父组件在准备就绪或更改时可以获取该值。

  • 使用Vuex(或类似原理)在组件之间共享状态。
  • 重新设计组件,以便所需数据归父组件所有,并通过prop绑定向下传递给子组件。
  • (高级)当您希望组件模板的片段存在于DOM中的其他位置时,请使用portal-vue插件。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从VueJS中的组件获取数据

如何在vuejs中获取组件属性?

如何在Angular中从父组件到子组件获取数据?

如何在 ReactJS 的父组件中获取子组件的 ref

如何在子组件中使用useEffect()来获取数据?

VueJS:如何在组件数据属性中引用this。$ store

如何使用 vuejs 组件获取 json 数据?

如何在子组件Angular中获取输入参数?

如何在本机反应中获取子组件的状态

如何在子组件Angular中获取数组?

如何在vuejs的父组件中单击按钮时调用子组件

我如何在Vuejs中的数组数据中获取数组

如何防止子组件中更新的数据更新VueJS中父的数据[2.6.14]

如何在子组件中呈现提交数据

如何在子组件中重新填充数据?

vuejs中父组件的数据变化不会更新子组件

如何在非页面的 SvelteKit 组件中获取数据

如何在组件中获取清晰的 http 请求数据?

如何在 vuejs 中对组件进行分组?

Vuejs-如何将道具从存在于数据中的数组传递给子组件?

如何在角度2的子组件中获取父组件的名称?

如何在Angular 4中将数据从父组件传递到子组件

如何在父组件中使用Vue.js子组件中的数据?

如何在vue.js 2上从父组件重置子组件中的数据?

如何在Angular中从父组件到子组件共享数据?

在vue-electron中,如何在父组件和子组件之间绑定数据?

如何在子查询中获取分组数据

如何通过从 vuejs 组件获取数据在 Laravel 控制器中创建多行

使用vuejs,如何将Firebase(vuefire)对象获取到组件数据中