https://blog.csdn.net/weixin_40825228/article/details/114700505
假定自定義了一個組件 ComponentB, props 接收了name, age兩個參數(shù), ComponentA在調(diào)用ComponentB時這么調(diào)用:
<componentB
:name="_name"
:age="_age"
:address="_address"
:phone="_phone"
@playBall="_playBall"
@study="_study"
>
而ComponentB又調(diào)用了ComponentC, 若想在ComponentC獲取ComponentA傳輸過來的沒被ComponentB接收的非props數(shù)據(jù),則組件ComponentB可以這么寫:
<template>
<div v-bind="$attrs" v-on="$listeners"></div>
<componentC />
</template>
<script>
export default {
indeterminate: true,
props: {
name,
age
}
則在ComponentC中,可以通過vm.listeners獲取祖先節(jié)點(diǎn)的methods,栗子:
<template>
</template>
<script>
export default {
mounted () {
// 訪問ComponentA傳入的`phone`, ComponentB的props并未接收
console.log(this.$attrs.phone)
// 觸發(fā)ComponentA綁定`study`事件, 并非ComponentB emit的
this.$emit('study')
}
}