代码:
<html>
<head>
<script type="text/javascript" src="../js/vue.js"></script>
<title>父组件的访问方式$children $refs $parent-root</title>
</head>
<body>
<!-- 父子组件的访问方式 -->
<div id="app1" style="width: 80%">
<div>
<h5 style="width: 100%">父子组件的访问方式</h5>
</div>
<div>
<div>
<font>子组件的属性:</font>
<son ></son>
<son ref="son4"></son>
<button @click="msgs">父组件点击</button>
</div>
</div>
</div>
<template id="son">
<div>
<h5>{{id}} {{tagName}}</h1>
<button @click="btnclick">子组件点击</button>
</div>
</template>
<script type="text/javascript">
const app1=new Vue({
el:"#app1",
data:{
msg:"父组件信息",
sonMsg:""
},
methods:{
msgs(){
//$children方式 $children 是一个数组
console.log(this.$children[0].msg)
this.$children[0].getMessgs()
//$refs方式 $refs是一个对象
console.log(this.$refs.son4)
}
},
components:{
son:{
template:"#son",
data(){
return {
msg:"子组件中的信息",
id:"son",
tagName:"h1"
}
},
methods:{
btnclick(){
//$parent方式 访问父组件
console.log(this.$parent.msg)
//$root方式 访问根组件
console.log(this.$root.msg)
},
getMessgs(){
console.log("调用的子组件的方法")
}
}
}
}
})
</script>
</body>
</html>