$el() 是 Vue.js 的一個指令,可以獲取對應元素在 DOM 中的引用。
在 Vue.js 中,數據和界面是綁定在一起的,即當數據發生變化時,視圖會自動更新,反之亦然。而在進行視圖更新時,Vue 會先通過虛擬 DOM 計算出具體的差異,然后再更新到真實的 DOM 上。
有時我們需要在代碼中操作真實的 DOM 元素,就可以通過 $el() 來獲取當前 Vue 實例對應的 DOM 元素,進而進行各種 DOM 操作。
new Vue({ el: '#app', mounted() { // 獲取該 Vue 實例對應的 DOM 元素 const element = this.$el; console.log(element); //} })
上面的代碼中,mounted 鉤子函數是 Vue 生命周期中的一個階段,在該階段中可以獲取到當前 Vue 實例對應的 DOM 元素。
需要注意的是,$el() 在組件中使用時,指的是根元素,即該組件被渲染后生成的最外層 DOM 元素。
Vue.component('my-component', { template: 'My Component', mounted() { // 獲取該組件實例對應的 DOM 元素 const element = this.$el; console.log(element); //My Component} });
上面的代碼中,定義了一個名為 my-component 的組件,在 mounted 鉤子函數中可以獲取該組件對應的 DOM 元素。
綜上可知,$el() 是 Vue.js 中一個非常實用的指令,可以幫助我們更方便地操作 DOM 元素。