Vue笔记四:Vue获取DOM元素和组件元素的方法

Vue获取组件元素

如果想使用哪个DOM元素,就给它加上ref属性,然后用$refs属性获取它的元素对象,示例如下: 全部代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>Vue获取DOM元素的方法</title>
	</head>
	<body>
		<div id="app">
			<!-- 为h1添加ref属性,属性自定义 -->
			<h1 ref="h1text">yoyo!这里是h1</h1>
			<input type="button" name="单击" @click="btn" value="单击" />
		</div>
		<script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
		<script>
		var vm=new Vue({
            
     
			el:#app,
			data:{
            
     
				
			},
			methods:{
            
     
				btn(){
            
     
					// 使用this.$refs.自定义属性,即可获取到我们刚刚定义到的标签
					console.log(this.$refs.h1text)
				}
			}
		})
		</script>
	</body>
</html>

运行:

ref获取组件元素

可在上一步代码基础之上进行修改 一共是三步 第一步:创建组件,声明数据和方法 第二步:为组件添加ref属性 第三步:通过$refs属性获取组件 全部代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>Vue获取DOM元素的方法</title>
	</head>
	<body>
		<div id="app">
			<!-- 为h1添加ref属性,属性自定义 -->
			<h1 ref="h1text">yoyo!这里是h1</h1>
			<input type="button" name="单击" @click="btn" value="单击" />
			<login ref="mylogin"></login>
		</div>
		<script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
		<script>
		// 创建组件login
		var login={
            
     
			template:<div><h1>登录</h1></div>,
			data(){
            
     
				return {
            
     
					// 声明数据
					msg:子组件内容
				}
			},
			methods:{
            
     
				// 声明子组件的方法
				show(){
            
     
					console.log("子组件的方法")
				}
			}
		}
		
		
		var vm=new Vue({
            
     
			el:#app,
			data:{
            
     
				
			},
			methods:{
            
     
				btn(){
            
     
					// 使用this.$refs.自定义属性,即可获取到我们刚刚定义到的标签
					console.log(this.$refs.h1text.innerText)
					console.log(this.$refs.mylogin.msg)
					this.$refs.mylogin.show()
					
				}
			},
			components:{
            
     
				login
			}
		})
		</script>
	</body>
</html>

运行

经验分享 程序员 微信小程序 职场和发展