Vue 父子通信(props,$.emit( ) )

11 篇文章 0 订阅

不全面,请参考官网进行理解。

组件实例作用域孤立,组件不让父子之间进行通信,data里面的数据不能作为全局的使用了。

Vue.component ('child', {
    //定义props
    props : ['message']
    //message是我们预期的父组件数据
    template:'<span>{{message}}</span>'
    //template里面定义child的模版
    })

<child message = 'hello'><child>
//渲染为<span>hello</span>

其中child就相当与父组件,span就相当与子组件。

子传父,使用$.emit( )

<div id = 'A'>
    <p>{{mes}}</p>
    <myButton v-on:inC = 'inB'><myButton>
    <myButton v-on:inC = 'inB'><myButton>
</div>
Vue.component('myButton', {
    template: '<button v-on:click='inD'> {{mes2}} </button>'
    data:function(){
        return {
            mes2 : 0
        }
    },
    methods : {
        •inD: function(){
        //inD是子组件点击事件触发的函数
            this.mes2 += 1
            //在这里使用了$emit()与父组件的 inC 绑定,当 inD 函数执行,就会使 inC 事件触发,执行父组件的 inB 函数this.$emit('inC')
        }
    }
})

new Vue ({
    el:'#A',
    data: {
        mes: 0
    }
    methods: {
        •inB: function(){
            this.mes += 1
        }
    }
})
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值