博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vue(ref父组件使用子组件中定义的方法)
阅读量:5117 次
发布时间:2019-06-13

本文共 2002 字,大约阅读时间需要 6 分钟。

一、前言                                                                   

二、主要内容                                                            

1、实现效果(其实可以直接在父组件中操作子组件的显示隐藏,但是这里通过在子组件定义自己的显示隐藏效果,让父组件调用,训练一下这种方式)

 

 

2、分析:

  (1)点击父组件的某一个li项,跳出这个商品详情(子组件项)

       (2)子组件中还是需要接收到父组件中的food,但是这个food不像上一篇那样是固定的,所以这里的这个food是根据我们点击的不同的项,传进去的

       (3)为了实现上一步分析:我们需要在data中定义一个对象,点击的时候,将当前对象的food传进去,然后在传给子组件,这样就能实现动态传递food了

3、具体实现

  (1)父组件中先引入并且使用子组件

  (2)在父组件的每一项上添加一个点击事件,并且将当前项的food通过定义的这个函数传给子组件

  • //省略
  •   (3)metods:中定义这个方法接收并传过去

      (4)在子组件中要定义该组件的显示隐藏方法,先用一个标识来标记

    export default {    props: {      food: Object    },    data () {      return {        isShow: false      }    },    methods: {      toggleShow () {        this.isShow = !this.isShow      }    },    components: {      CartControl    }  }

      (5)父组件中用this.$refs.refname.method()来得到子组件的方法,并且执行

    // 显示点击的food      showFood (food) {        // 设置food        this.food = food        // 显示food组件 (在父组件中调用子组件对象的方法)        this.$refs.food.toggleShow()      }

     

    4、完整代码:

    父组件:

    父组件.vue

    子组件:

    子组件.vue

     

     

     

    三、总结                                                                   

    转载于:https://www.cnblogs.com/xxm980617/p/10859233.html

    你可能感兴趣的文章
    8、RDD持久化
    查看>>
    第二次团队冲刺--2
    查看>>
    VMware Tools安装
    查看>>
    Linux上架设boost的安装及配置过程
    查看>>
    [转载]加密算法库Crypto——nodejs中间件系列
    查看>>
    zoj 2286 Sum of Divisors
    查看>>
    OO5~7次作业总结
    查看>>
    如何判断主机是大端还是小端(字节序)
    查看>>
    Centos7 日志查看工具
    查看>>
    使用Xshell密钥认证机制远程登录Linux
    查看>>
    OpenCV之响应鼠标(三):响应鼠标信息
    查看>>
    Android 画图之 Matrix(一)
    查看>>
    List<T>列表通用过滤模块设计
    查看>>
    【模板】最小生成树
    查看>>
    设计模式之结构型模式
    查看>>
    poj2569
    查看>>
    使用pygal_maps_world.i18n中数据画各大洲地图
    查看>>
    sql server必知多种日期函数时间格式转换
    查看>>
    jQuery EasyUI 的下拉选择combobox后台动态赋值
    查看>>
    timeline时间轴进度“群英荟萃”
    查看>>