Vue中子组件向父组件传值

Vue中子组件向父组件传值

  1. 首先创造两个组件,并为父组件引用的子组件创建一个自定义方法。
  2. 子组件添加一个事件,可以触发$emit事件。
<!------------------------------- 父组件 ------------------------------->
    <!-- 在父组件中给引用的子组件创建一个自定义事件 -->
    <template id="father">
        <div>
            <son @zidingyi="tofather"></son>
            <div>父组件获取到的值是:{{getmessage}}</div>
        </div>
    </template>
    <!------------------------------- 子组件 -------------------------------->
    <template id="son">
        <div>
            <!-- 子组件触发$emit事件 -->
            <button @click="submit">传递</button>
        </div>
    </template>
  1. $emit(‘自定义方法名’,传递的数据)。
 // --------------------------------子组件-----------------------------
        Vue.component('son', {
            template: '#son',
            data() {
                return {
                    msg: 'hello'
                }
            },
            // 子组件的方法中调用点击事件,点击按钮调用$emit方法 
            // 括号中第一个参数是父组件的自定义方法名,第二个参数是传递的数据
            methods: {
                submit() {
                    this.$emit('zidingyi', this.msg);
                }
            },
        })
  1. 父元素调用自定义的方法,参数就是传递的值。
 // ----------------------------------父组件----------------------------------
        Vue.component('fathet', {
            template: '#father',
            data() {
                return {
                    getmessage: '',
                }
            },
            methods: {
                // 调用父组件的自定义方法,括号里是参数
                tofather(message) {
                    this.getmessage = message
                }
            }
        })
  1. 展示传递的值
 <div id='app'>
        <fathet></fathet>
    </div>

展示数据

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值