《Vue学习笔记》--组件-ref获取DOM元素和组件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>title</title>
<script src="./lib/vue-2.4.0.js"></script>
</head>
<body>
<div id="app">
<!-- 在h3标签上 添加 ref标识 别名 ,这样 VM 就可以 通过 this.$refs 获取DOM相关元素--
在console 输入 vm 命令 就可以 查看 $refs 中的元素-->
<h3 id="myh3" ref="myh3">今天的天气:晴空万里!</h3>
<!--也可以在这里 添加 ref 标识-->
<input type="button" value="获取元素" @click="getElement" ref="mybtn">
<hr>
<!-- ref 获取组件元素 -->
<login ref="mylogin"></login>
</div>
<script>
var login = {
template: '<h1>登录组件</h1>',
data() {
return {
msg: 'son msg'
}
},
methods: {
show() {
console.log('调用了子组件的方法')
}
}
}
var vm = new Vue({
el: '#app',
data: {},
methods: {
getElement() {
//注意:Vue 不推荐使用以下原生的方式
//console.log(document.getElementById('myh3').innerText)
//vue 使用 ref $refs (ref 全称 reference:引用) 值类型 和 引用类型 referenceError
//注意:$refs 包含所有 被 ref 标识的 DOM元素
console.log(this.$refs.myh3.innerText)
//调用子组件的数据
console.log(this.$refs.mylogin.msg)
//调用子组件的方法
this.$refs.mylogin.show()
}
},
components: {
login
}
})
</script>
</body>
</html>