【问题标题】:vue 2 parent get children component datavue 2父获取子组件数据
【发布时间】:2017-06-25 17:06:23
【问题描述】:

我正在使用 vue2 开发我的项目。

当组件挂载(或 beforeMounts)时,它会从 vuex 中获取初始数据,并将其放入组件的数据中。用户点击按钮后,会触发父级的方法。我需要得到孩子的数据。如何获得?

父组件具有从子组件回调的句柄方法。子组件具有 child2 组件,该组件具有父组件所需的数据。

在 html 中像:

<parent>
  <child>
    <child2></child2>
  </chlid>
</parent>

我需要在 parent 的方法中处理 child2 的数据。而父母的handle方法就是孩子的回调方法。

【问题讨论】:

    标签: vuejs2 vue-component vue.js


    【解决方案1】:

    您可以使用$emit从子组件调用父方法,并将您要传递的变量传递给父方法。

    查看answer 了解更多详情。

    【讨论】:

    • 我不能在我的情况下使用 $emit。我没有澄清我的问题。父组件具有从子组件回调的句柄方法。子组件具有 child2 组件,该组件具有父组件所需的数据。在 html 中像: 我需要在 parent 的方法中处理 child2 的数据。而父母的handle方法就是孩子的回调方法。 @@
    【解决方案2】:

    由于您使用的是 Vuex,只需让子级执行更改状态的操作,并让父级使用 getter 对此类更改做出反应。关于最后一件事的更多信息:https://vuex.vuejs.org/en/getters.html

    【讨论】:

      【解决方案3】:

      最后我只是将数据从孩子转移到父母。让孩子纯洁,它会起作用。感谢您的帮助。

      【讨论】:

        【解决方案4】:

        你可以这样试试吗:

        父组件:

        <child @childReady="do()"></child>
        
        export default {
            methods: {
                do() {
                }
            }    
        }
        

        子组件:

        mounted() {
            this.$emit('childReady');
        }
        

        【讨论】:

          猜你喜欢
          • 2021-08-02
          • 2019-02-20
          • 2020-12-14
          • 1970-01-01
          • 2016-07-15
          • 2019-05-05
          • 1970-01-01
          • 1970-01-01
          • 2017-04-29
          相关资源
          最近更新 更多