zoukankan      html  css  js  c++  java
  • Vue 父组件调用子组件方法

    Vue 父组件调用子组件方法

    在很多时候,我们需要使用到父子组件,例如嵌套弹窗,这时候可以使用父子组件通信,或者父子组件方法调用,在这里使用到了父组件调用子组件的方法来实现功能。

    通过 ref 调用子组件方法

    这种方法是比较简便的,其他方法可另外学习。

    父组件代码

    <!-- 父组件 -->
    <template>
      <div>  
          <div class="more-action">
              <el-popover placement="bottom" width="100" trigger="click">
                  <!-- 举报按钮 -->
                  <div class="report" @click="openchildReport(orderData.id)">举报</div>
    
                  <i slot="reference" class="el-icon-more"></i>
              </el-popover>
          </div>
         <!-- 调用子组件,通过ref关联子组件 -->
         <mainOrderReport ref="child"></mainOrderReport>
      </div>
    </template>
    
    <script>
        import mainOrderReport from "@/views/mainOrderReport/index"
        export default {
            //子组件注册
            components: {
                mainOrderReport
            },
            methods: {
                //点击举报按钮触发事件
                openchildReport(data) {
                    //调用子组件方法,并传参过去
                    this.$refs.child.openReport(data);
                },
            }
        }
    </script>
    

    通过ref 关联子组件,调用子组件方法并传递参数。

    子组件代码

    <template>
      <div>
        <el-dialog title="选择举报类型" :visible.sync="reportValue" :close-on-click-modal="false" :append-to-body="true">
        </el-dialog> 
      </div>
    </template>
    
    <script>
    export default {
        data() {
          return {
            form: {},
            reportValue: false,
          }
        },
        //被父组件调用,并接收参数
        openReport(data) {
            console.log("mainID:" + data);
            this.reportValue = true
            this.form.mainID = data
        },
    }
    </script>
    

    子组件方法被调用,并获取到参数。

    该方法是比较简便,推荐大家使用。至于另外的父子组件通信,不满足需求的情况下可另行学习。

    自我控制是最强者的本能-萧伯纳
  • 相关阅读:
    Hdu 1429 胜利大逃亡(续) (bfs+状态压缩)
    Vijos 1456 最小总代价 (状压dp)
    洛谷 P1313 计算系数 (二项式定理)
    洛谷 P1134 阶乘问题
    EINTR错误
    TCP和UDP协议的应用/参数查看
    BAT面经
    高级环境编程要看的
    UDP丢包和无序 问题的解决方法
    tcp/ip
  • 原文地址:https://www.cnblogs.com/CF1314/p/14030505.html
Copyright © 2011-2022 走看看