第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

Vue 組件之間常用的通信方式

標(biāo)簽:
Vue.js

Vue 组件之间常用的通信方式

  • props
  • 总线 eventbus
  • vuex
  • 自定义事件
    • 关系情况
      • $parent
      • $children
      • $root
      • $refs
      • provide/inject
    • 非 prop 特性
      • $attrs
      • $listener
	props 父->子传值 用属性
		parent
			<child :faData = '来自父亲'></child>
		child
			props:{
				faData:{
					type:String,
					default:""
				}
			}	
		子->父	 用自定义事件	
		child
			this.$emit('add',good)
		parent
			<child @add='cartAdd($event)'></child>
		
事件总线

任意两个组件之间值传递

	main.js 注册 
		Vue.prototype.$bus = new Vue()
	
	parent 
		<template>
			<child1 ></child1>
			<child2 ></child2>
		<template>
		
	child1
		this.$bus.$on('event-from-child2',msg=>{
				console.log(msg)
			})
	child2
		this.$bus.$emit('event-from-child2','some msg from child2')
$parent / $root
  • 发布订阅模式,事件派发和订阅的是一个人
	parent 里 child1 和child2 通信
	
		<child1></child1>
		<child2></child2>
		
		
	child1
		mounted(){
			this.$parent.$on('event-from-child2',msg=>{
				console.log(msg)
			})
		}
	
	child2
		mounted(){
			this.$parent.$emit('event-from-child2','some msg from child2')
		}
	
$children

父组件可以通过$children 访问子组件实现父子通信
$children 拿到的是一个子组件数组,不能保证子元素顺序

	parent
		<button @click='goHome'></button>
		goHome(){
			this.$children[0].eat()
		}
		
	child1
		eat(){
			console.log('马上回')
		}
	child2
$attrs / $listeners

包含了父作用域中不作为prop被识别(且获取)的特性绑定(class 和style 除外).当一个组件没有声明任何prop时,这里会包含所有父作用域的绑定(class 和 style 除外),并且可以通过v-bind = “$attrs” 传入内部组件——在创建高级别的组件时非常有用

	parent 
		<child foo='foo' @click='onClick'></child>
		onClick(){
			console.log("来自parent的回调函数处理")
		}
	child
		<p v-on='$listeners'>{{$attrs.foo}}</p>
		并未在props 中声明foo
		v-on='$listeners' 运行会被展开并监听(在parent里监听)
		
	child2
		
refs

获取子节点引用 | 访问普通的dom 元素

provide / inject 依赖注入可以跨层级传参

能够实现祖先和后代之间传值

	ancestor
		provide(){
			return {foo:'foo'}
		}
	descendant
		inject:['foo']
		可以起别名
		inject:{bar:{from:'foo'}}
點(diǎn)擊查看更多內(nèi)容
7人點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消