组件与复用技术(下)

接上一篇组件与复用技术(上)

三、组件之间的通信(1):props / $emit

  1. 认识父组件和子组件
    ①父组件:在HTML中使用组件的代码被称为“父组件”。
    ②子组件:在JS中注册组件的代码被称为“子组件”。
  2. 父组件向子组件的通信:
    ①数据从父组件传递给子组件。
    ②通过props来实现。
    ③通过props来实现的父组件向子组件的通信是“单数据流传递”。
    由于是单数据流传递,因此在子组件中不允许执行对props数据实现赋值的各种操作。
    解决方案:在子组件的data区再次定义一个普通变量,让各种赋值操作针对这个普通变量来实现。
    ④通过props传递过来的数据作为初始值且发生了变化或者重新赋值,则可以利用计算属性或者侦听属性来解决双向绑定的问题。
    ⑤通过props传递给子组件的属性:
    A、不能在子组件的methods方法中对props属性进行赋值。
    B、不能在子组件的表单元素中利用v-model双向绑定props属性。
  3. 子组件向父组件的通信:
    ①数据从子组件传递给父组件
    ②通过父组件的自定义事件来实现
  4. 自定义事件:
    触发自定义事件:this.$emit(‘自定义事件名’,参数);
    例:为<my-book></my-book>添加功能。单击“作者”,在控制台显示作者简介。
1、为父组件绑定自定义事件:
  <my-book @custom=“bookCustom” intro=“作者致力于…….”></my-book>
2、在Vue实例中设置bookCustom的方法:
   new Vue({
     methods:{
        bookCustom:function(introduce){
           console.log(introduce);
			}
		}
	})
3、在子组件中指定何时出发custom事件。
   Vue.component(‘my-book’,{
       template:‘<p @click=“authorClick”>’,
       props:[‘intro’],
       metho
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值