亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

渲染錯誤:“TypeError:無法讀取未定義的屬性‘名稱’”(Vue)

渲染錯誤:“TypeError:無法讀取未定義的屬性‘名稱’”(Vue)

PHP
青春有我 2022-06-17 17:14:45
我剛剛了解了使用 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貢獻1842條經驗 獲得超13個贊

當您顯示數據時,請嘗試如下:

authenticated.employee && authenticated.employee.name

或者

authenticated.employee ? authenticated.employee.name : ''

這是因為在 momentauthenticated.employee中沒有定義。

隨著那個錯誤將消失。

你可以在這里閱讀更多關于它的信息。


查看完整回答
反對 回復 2022-06-17
?
達令說

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


查看完整回答
反對 回復 2022-06-17
  • 2 回答
  • 0 關注
  • 182 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號