this
指向组件实例,$el
用于获取Vue
实例挂载的DOM
元素,在mounted
生命周期中才有效,之前的钩子函数内无效。如下代码所示,Vue
脚手架中,$el
指向当前组件template
模板中的根标签。
<template>
<div id="root">
Lorem, ipsum
</div>
</template>
<script>
export default {
mounted () {
// this.$el只在mounted中才有效
console.log('this:', this) // 打印this指向组件实例。
console.log('this.$el:', this.$el) // 打印这个vue组件的dom对象
this.$el.style.color = 'red'
},
methods: {
fn () {
console.log('test_this.$el:', this.$el) // <div id="root">...</div>
}
}
}
</script>
控制台输出: