$el是Vue實例的一個屬性,它指向了這個Vue實例所關聯的DOM元素。也就是說,$el指向了Vue實例所掛載的DOM節點。這個屬性是只讀的,通過它可以訪問到Vue實例所關聯的DOM元素,我們可以在控制臺中輸入“vm.$el”來獲取Vue實例所對應的節點。
當我們創建一個Vue實例時沒有傳入el屬性時,Vue會自動將template模板編譯生成虛擬DOM,并通過$mount方法手動掛載到DOM元素上。我們可以手動調用$mount方法,也可以將el屬性與Vue實例直接綁定。例如:
const vm = new Vue({ el: '#app', data: { message: 'Hello Vue!' } })
這樣就會將Vue實例與HTML中id為“app”的元素綁定,例如:
<div id="app"> {{ message }} </div>
Vue實例也可以通過$el屬性動態改變掛載的DOM節點,例如:
const vm = new Vue({ data: { message: 'Hello Vue!' } }) vm.$mount('#app');
這樣就將Vue實例與HTML中id為“app”的元素綁定,同樣地,我們也可以使用動態綁定的方式,將Vue實例掛載到其他節點上:
const vm = new Vue({ data: { message: 'Hello Vue!' } }) vm.$mount(document.getElementById('app'));
$el是Vue實例的一個非常有用的屬性,它可以訪問到Vue實例所對應的DOM節點,也可以通過它手動改變所掛載的節點。