vue 文檔中 vue 實(shí)例:數(shù)據(jù)與方法 就提到终娃,只有當(dāng)實(shí)例被創(chuàng)建時(shí)就已經(jīng)存在于 data 中的屬性才是響應(yīng)式的念搬。
項(xiàng)目中我們通常把需要響應(yīng)式的 數(shù)據(jù)對象 或者 數(shù)據(jù)數(shù)組 初始化賦值為 null
這么做有什么好處呢京郑?或者說為什么初始化要為 null
,對象為 {}
,數(shù)組為 []
氛改,不行嗎?
首先比伏,需要肯定的是胜卤,我們需要用到的數(shù)據(jù)屬性咒锻,建議是應(yīng)該先定義為 data 對象屬性蒋失,這就為我們省去了后面手動添加響應(yīng)式渲染的操作 Vue.set
匿垄。
其次,初始化為 null
匕得,或者分別是后面兩者,這里看個(gè)人習(xí)慣罐盔。下面說說初始化為 null
的情況:
// 假設(shè)我們的數(shù)據(jù)屬性是 list 初始化為 null
list: null
// 當(dāng)我們通過接口異步獲取數(shù)據(jù)時(shí)担平,頁面應(yīng)該處于 loading 狀態(tài)
list == null // 我們只需要判斷其是否為 null 即可
// 當(dāng)我們獲取數(shù)據(jù)之后:
// 1)有數(shù)據(jù) ==> 渲染
list && list.length // 我們只需要判斷其是否存在以及長度存在
// 2)無數(shù)據(jù) ==> 空狀態(tài)提示
list && !list.length // 我們只需要判斷其是否存在以及長度無即可