我剛剛了解了使用 vuex 之類的狀態管理的 vuejs。我收到了這個錯誤渲染錯誤:“TypeError:無法讀取未定義的屬性‘名稱’”當我像這樣從服務器填充數據時:authenticated:{ created_at:"2019-12-13 16:04:47" email:"[email protected]" email_verified_at:"2019-12-13 16:04:47" employee:{ accountNumber:null address:"JL.VETERAN UTARA LR.124 NO.1" baseSalary:"10000000.000000" birthDate:"1987-09-14" birthPlace:"Ujung Pandang" category_id:null classification_id:null code:"000001" created_at:"2019-12-13 16:04:47" dateJoin:"2012-01-04" dateResign:null department_id:null division_id:null gender:null group_id:null height:172 id:1 idCardNumber:null kecamatan:null kelurahan:null } employee_id:1 id:1 role:"0" updated_at:"2019-12-15 14:22:26"}實際上,數據響應可以顯示在模板上,當我嘗試填充authenticated.employee.name控制臺時顯示錯誤但可以顯示數據。TypeError:無法讀取未定義的屬性“名稱”任何人都可以幫助我嗎?
2 回答

達令說
TA貢獻1821條經驗 獲得超6個贊
可能是在來自服務器的響應中,員工為空。因為用戶上沒有員工 ID,或者具有該 ID 的員工不存在。
如果以上都不是問題。就我個人而言,我喜歡使用 _.get() 來處理“路徑”中的某些內容可能為空并引發此錯誤的情況。
let employeeName = _.get(response, 'employee.name');
這樣做是在嘗試名稱之前處理檢查員工是否不為空。如果employee 為null,則employeeName 將為null。這意味著您不必像這樣鏈接一堆父檢查:
if (response.employee && response.employee.name) {
let employeeName = response.employee.name;
}
https://lodash.com/docs/4.17.15#get
- 2 回答
- 0 關注
- 182 瀏覽
添加回答
舉報
0/150
提交
取消