父访问子-children-refs
父子组件的访问方式:$children
有时候我们需要父组件直接访问子组件,子组件直接访问父组件,或者是子组件访问根组件。
1.父组件访问子组件:使用$children或 $refs reference(参考,引用)
** $refs->对象类型,默认是一个空的对象,ref=" bbb "
refs一般用的比较多**
2.子组件访问父组件:使用$parent
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<div id="app">
<cpn></cpn>
<cpn></cpn>
<cpn ref="aaa"></cpn>
<button @click="btnClick">按钮</button>
</div>
<template id="cpn">
<div>
我是子组件
</div>
</template>
<script src="../../vue.min.js"></script>
<script>
const app=new Vue({
el:'#app',
data:{
message:'hello',
},
methods:{
btnClick(){
1.$children
console.log(this.$children)
this.$children[0].showMessage()
for(let c of this.$children){
console.log(c.name);
c.showMessage();
console.log(this.$children[2].name);
//2.$refs->对象类型,默认是一个空的对象,ref=" bbb "
console.log(this.$refs.aaa.name)
}
},
components:{
cpn:{
template:'#cpn',
data(){
return {
name: '我是子组件的name',
}
},
methods:{
showMessage(){
console.log('showMessage');
}
}
}
}
})
</script>
</body>
</html>