国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

解決vue組件props傳值對象獲取不到的問題

2024-05-06 15:38:20
字體:
來源:轉載
供稿:網友

先說問題,父組件利用props向子組件傳值,瀏覽器 console 有這個值,但是獲取不到內部的屬性,困了我3個小時,真的**

personal
console

以下為原代碼

1、home.vue(父組件)--personal是被傳的參數

<!--子組件--><form-picker class="form-picker" :personal="personal"></form-picker>export default {  data(){    return{      personal:{        state:'',////判斷是修改狀態,還是新增狀態 add/edit        data:[]      }    }  },  mounted(){   this.$api.personal.searchPersonalInfo(this.userInfo.userId).then((res)=>{     this.personal.data = res.data.data //這里給personal對象賦值接口傳來的數據    })  },}

2、formPicker (子組件) --接收personal

export default {  props:['active','personal'],  mounted(){    console.log(149,this.personal)    console.log(150,this.personal.state)  }}

運行結果

明明149行有 state 值,150行輸出卻沒有了,是不是超級奇怪

后面經過大佬的講解,其實瀏覽器console.log也是應該沒有的

所以,其實我們子組件一開始根本就沒有取到這個personal這個對象。

3、解決方法--使用watch

父組件

export default {  data(){    return{      personal:{        state:'',////判斷是修改狀態,還是新增狀態 add/edit        data:[]      }    }  },  mounted(){   this.$api.personal.searchPersonalInfo(this.userInfo.userId).then((res)=>{     //this.personal.data = res.data.data //這里給personal對象賦值接口傳來的數據     //使用以下方法重新賦值,上面方法watch監聽不到,具體什么原因,我也不清楚,知道的告知我!謝謝     this.personal = {      data: res.data.data,      state: 'edit'     }    })  },}

接下來子組件就能 watch 到 personal 了 子組件

watch:{   personal(newValue,oldValue){    console.log(181,newValue)    },/** 輸出    {      data: res.data.data,      state: 'edit'     }**/  }

總結

以上所述是小編給大家介紹的解決vue組件props傳值對象獲取不到的問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對錯新站長站網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 兖州市| 远安县| 安化县| 赤峰市| 丽水市| 中卫市| 兴仁县| 佛山市| 通渭县| 大荔县| 张家川| 淮南市| 砀山县| 东台市| 灌阳县| 盐山县| 上栗县| 石狮市| 辽阳市| 新昌县| 广灵县| 永年县| 西藏| 新龙县| 深圳市| 南安市| 张北县| 定结县| 德州市| 滦平县| 广宁县| 彭州市| 靖安县| 潮安县| 教育| 龙游县| 临西县| 江华| 竹北市| 罗江县| 曲沃县|