序言
最近在开发Vue项目,发现了一个ref的使用场景:将父组件中的值传递给子组件并且调用子组件的方法。
1.获取dom元素
通过`this.$refs.name`获取dom元素
<div ref="myref">123</div>
let myDOM = this.$refs.myref;
console.log(myDOM);
2.获取子组件中的data
<template>
<div>
我是子组件
</div>
</template>
<script>
export default {
data() {
return {
name: "myhua"
};
}
};
</script>
<template>
<div id="app">
<Son ref="myref"></Son>
</div>
</template>
<script>
import Son from "./components/son";
export default {
mounted() {
console.log(this.$refs.myref.name);
},
components: {
Son
}
};
</script>
3.调用子组件中的方法
<template>
<div>
我是子组件
</div>
</template>
<script>
export default {
methods: {
logName() {
console.log("myhua!!");
}
}
};
</script>
<template>
<div id="app">
<Son ref="myref"></Son>
</div>
</template>
<script>
import Son from "./components/son";
export default {
mounted() {
this.$refs.myref.logName();
},
components: {
Son
}
};
</script>