错误场景:根据ref找到元素并设置其style
this.$refs.xxx.style.opacity = '1'
会报错,这里需要使用
this.$refs.xxx.$el.style.opacity = '1'
vm.$el 用于获取vue(子)组件所挂载的实例的dom对象,在mounted生命周期中才有效
<template>
<div>
<div>hello world</div>
</div>
</template>
<script>
export default {
name: "Home",
data () {
return {
};
},
mounted(){
// this.$el只在mounted中才有效
console.log(this.$el); //vue组件的dom对象
this.$el.style.color = "red"
}
}
</script>
而 $refs 拿到的分两种情况:
-
ref 加在普通的元素上,用this.$refs.
xxx
获取到的是dom元素 -
ref 加在子组件上,用this.$refs.
xxx
获取到的是组件实例,可以使用组件的所有方法。在使用方法的时候直接.方法()调用
版权声明:本文为c46550原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。