组件注册与组件通信

全局注册

   组件定义:Vue.component('组件名称','组件内容')
   参数1: 自定义组件名称  
   参数2: 组件的内容(对象的形式)

局部注册:

   通过一个普通的 JavaScript 对象来定义组件
		var ComponentA = { /* ... */ }
		var ComponentB = { /* ... */ }
    在components 选项中定义你想要使用的组件
		new Vue({
	  	       el: '#app',
	  	       components: {
	    		'component-a': ComponentA,
	    		'component-b': ComponentB
	  		}
		 })
     
/*
    对于 components 对象中的每个 property 来说,其 property 名就是自定义元素的名	字,其 property 值就是这个组件的选项对象。
*/

组件通信:

    父传子
		父级调用子元素,通过子元素的属性来传入数据 
		子级内内部通过props来接受对应的数据

父组件往子组件传数据:
定义的子组件的名称:k-pagination
子组件的接收方式:props:[‘pages’,‘page’]

    子传父
		*注意:vue中数据默认是单向流动,只能父到子直接传递,但是子到父不能直接修改。
		 
		 原因:因为父级的数据不一定只是某个子级在使用,也许还会有其它的子级也在使用这个数据,很容易就会出现数据混乱。
		 解决:如果子级想修改数据,那么需要子级去通知父级,父级接受到这个通知后,再去决定是否修改。
         通知的方式:(自定义) 事件机制 

父组件接受子组件通知的方式:<k-pagination @prevpage=“prevpage”
@changepage=“changepage”>
定义的子组件的名称:k-pagination
子组件定义往父组件传参的方式:this.$emit(‘事件名称’,事件所需要的参数)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值