首页 > Web开发 > 详细

vue.js_0_vue-父子组件的传值方法

时间:2019-10-20 14:26:17      阅读:71      评论:0      收藏:0      [点我收藏+]

1.父向子传递数据

1>定义一个父组件和一个子组件

2>父组件通过v-bind绑定传递的数据  :parentmsg="msg"

3>子组件需要通过 props:[‘‘]来接收数据 props: [parentmsg],

<body>
        <div id="app">
            <comp1 :parentmsg="msg"></comp1>
        </div>

        <template id="tmpl1">
            <div>
                <h1>这是子元素--{{parentmsg}}</h1>
            </div>
        </template>
        <script>
            var comp1 = {
                template: #tmpl1,
                props: [parentmsg],
            }
            var vm = new Vue({
                el: #app,
                data: {
                    msg: 我是父组件中的数据,
                },
                components: {
                    comp1
                }
            })
        </script>
    </body>

 2.子向父传递数据

1>子组件通过一个触发一个事件来调用向父组件传递数据的方法  @click="sendMsg"

2>通过  this.$emit(‘func‘,this.msg) 传递数据给父组件   来调用父组件上绑定的方法  @func="getMsgFromSon"

3>通过方法拿到子组件传递过来的数据

methods: {
                    getMsgFromSon(data){
                        this.msgSon=data
                    }
                },

<body>
        <div id="app">
            <comp1 :parentmsg="msg" @func="getMsgFromSon"></comp1>
            <h1>{{msgSon}}</h1>
        </div>

        <template id="tmpl1">
            <div>
            <h1>这是子元素</h1>
            <input type="button" value="向父组件传递消息"  @click="sendMsg"/>
            </div>
        </template>
        <script>
            var comp1 = {
                template: #tmpl1,
                props:[parentmsg],
                data(){
                    return{
                        msg:我是子组件中的数据
                    }
                },
                methods:{
                    sendMsg(){
                        this.$emit(func,this.msg)
                    }
                }
            }
            var vm = new Vue({
                el: #app,
                data: {
                    msg:我是父组件中的数据,
                    msgSon:‘‘
                },
                methods: {
                    getMsgFromSon(data){
                        this.msgSon=data
                    }
                },
                components: {
                    comp1
                }
            })
        </script>
    </body>

 

vue.js_0_vue-父子组件的传值方法

原文:https://www.cnblogs.com/asndxj/p/11707423.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!