如果你使用 Vue 進(jìn)行開發(fā),你有可能會遇到一個常見的問題,就是代碼中找不到某些屬性。這是因為 Vue 的一些特性,在特定的情況下會使得屬性不可訪問。
// 一個簡單的 Vue 組件實例 var myComponent = new Vue({ el: '#app', data: { message: 'Hello World!' } }); // 在模板中,我們可以使用“message”屬性{{ message }}
但是,如果我們像下面這樣嘗試訪問 message,會發(fā)現(xiàn)找不到這個屬性:
console.log(myComponent.message);
這是因為 Vue 將 data 變量轉(zhuǎn)換為了“響應(yīng)式”,只有在模板中使用的屬性才能被訪問。
如果我們希望在代碼中訪問 Vue 組件中的屬性,有兩種方法:
第一種方法是使用 $data 屬性。 Vue 把 data 對象存儲在 $data 屬性中,這樣我們就可以直接訪問這個對象。
console.log(myComponent.$data.message);
第二種方法是使用 $refs 屬性。我們可以給組件加上一個 ref,然后使用 $refs 屬性訪問。
// 模板中加上 ref// 代碼中訪問 ref console.log(myComponent.$refs.message.innerText);{{ message }}
如果你使用 Vue 進(jìn)行開發(fā),記得使用模板中定義的屬性名,并結(jié)合這兩種方法訪問 Vue 組件中的屬性。