01.$raíz;
Acceda a la instancia raíz del componente, no se usa mucho, básicamente realiza operaciones de datos en vuex;
02.$padre/$hijos;
Puede obtener los datos del componente principal o del componente secundario; generalmente no se recomienda usar $parent, porque si obtiene este valor y lo modifica, los datos del componente principal también se cambiarán;
<template>
<div>
//相当于使用了爷组件上边title属性的值
{$parent.$parent.title}
<button @click="$parent.$parent.handle">
调用爷组件上边的方法
</button>
</div>
</template>
03.$referencias;
Esto también puede obtener los datos del subcomponente; en el componente el, podemos usar esto para verificar los datos;
this.$refs[formname].validate((valid)=>{
if(valid){
console.log('success');
}else{
console.log('fail')
return false;
}
})
//这是子组件
<tempalte>
<div>
<input v-model="input" type="text" ref="txt">
</div>
</template>
export default{
data(){
return{
input:''
}
},
methods:{
fucus(){
this.$refs.txt.focus()
}
}
}
<template>
<div>
<niu ref="hao"/>
<button @click="huo">获取焦点</button>
</div>
</template>
import niu from './niu.vue'
export default{
components:{
niu
},
methods:{
huo(){
this.$refs.hao.focus();
this.$refs.hap.value = '牛啊牛'
}
}
}
04.proporcionar、inyectar
En el caso de más anidamiento, los subcomponentes utilizan este práctico
//父组件
export default{
provide:{
return:{
title:this.title,
message:this.message
}
},
methods:{
message(){
return this.title
}
}
}
//子组件 获得title变量以及message的方法
export default{
inject:['title','message']
}
05.$atributos
Vincular propiedades que no son de accesorios en el componente principal a componentes internos (sin incluir propiedades de estilo y clase)
//子组件
<template>
<div>
<input v-bind="$attrs">
</div>
</template>
export default{
inheritAttrs:false
}
06.$ oyentes
Vincular el evento nativo del objeto DOM en el componente al componente interno