Vue 组件间函数调用,事件传递

子组件调用父组件函数

在子组件中可以 通过 emit 函数触发父组件中自定义的事件,通过事件绑定调用父组件函数。

//父组件的html代码
<parent  @myEvent="parentFunction">
    <child></child>
</parent>
//父组件的js代码  (单文件组件写法)
methods:{
    parentFunction: function(){
          //codes
    }
}
//子组件js代码, 
methods: {
    callParents: function(){
    this.$emit("myEvent",args);    
    //myEvent是事件名,要与父组件监听(@myEvent)对应,
    // args 是要传递参数,这就随便了。想传什么传什么
    }
}

父组件调用子组件函数

在父组件中, 通过在子组件上绑定一个 ref 值, 然后直接调用子组件的函数

//父组件的html代码,
<parent>
    <child  ref="child" ></child>       <!--  ref 后面的值是自己定义的  -->
</parent>
//父组件的js代码  (单文件组件写法)
methods:{
    parentFunction: function(){
       this.$refs.child.childFunction(params);
       //注意两个点对应,  一个是自己定义的 ref 值,  二是子组件的函数名
    }
}
//子组件js代码, 
methods: {
    childFunction: function(params){
        //codes
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 什么是组件? 组件 (Component) 是 Vue.js 最强大的功能之一。组件可以扩展 HTML 元素,封装...
    youins阅读 13,159评论 0 13
  • 此文基于官方文档,里面部分例子有改动,加上了一些自己的理解 什么是组件? 组件(Component)是 Vue.j...
    陆志均阅读 9,236评论 5 14
  • 父子组件通信 1、父子组件通过prop传递数据 父组件可以将一条数据传递给子组件,这条数据可以是动态的,父组件的数...
    视觉派Pie阅读 5,017评论 0 18
  • Vue 实例 属性和方法 每个 Vue 实例都会代理其 data 对象里所有的属性:var data = { a:...
    云之外阅读 6,646评论 0 6
  • 美芽子阅读 1,592评论 0 0