30.父组件将方法传递给子组件

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>Title</title>

    <script src="https://cdn.jsdelivr.net/npm/vue@2.6.10/dist/vue.js"></script>

</head>

<body>

<div id="app">

    <!--父组件向子组件传递方法,使用的是事件绑定机制 v-on,当我们自定义了一个事件属性之后,那么子组件就能够通过某些方式,来调用传递进去的这个方法了-->

    <com1 v-on:func="show"></com1>

</div>

<template id="tmp1">

    <div>

        <h1 @click="myclick">这是子组件</h1>

    </div>

</template>

<script>

    var vm=new Vue({

        el:"#app",

        data:{

            fromSon:null

        },

        methods:{

            show(data){

                console.log("这是父组件的一个方法:"+data);

                this.fromSon=data;

            }

        },

        components:{

            com1:{

                data(){

                    return{

                        sonmsg:{name:'儿子',age:'10'}

                    }

                },

                template:'#tmp1',

                methods:{

                    myclick(){

                        //emit是触发,调用,发射的意思

                      this.$emit('func',this.sonmsg);

                      console.log(this.sonmsg);

                    }

                }

            }

        }

    })

</script>

</body>

</html>

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容