国产探花免费观看_亚洲丰满少妇自慰呻吟_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傳值對象獲取不到的問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對錯新站長站網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

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

圖片精選

主站蜘蛛池模板: 威海市| 西华县| 元谋县| 阿瓦提县| 庆元县| 吉安县| 叙永县| 拜泉县| 柞水县| 达尔| 慈溪市| 南江县| 金平| 阜平县| 尚义县| 布尔津县| 巨鹿县| 临泉县| 池州市| 扶余县| 寿阳县| 张家港市| 岳普湖县| 平潭县| 铜川市| 镶黄旗| 绥宁县| 玉屏| 大丰市| 通山县| 巫溪县| 隆回县| 上饶市| 峡江县| 邢台县| 青川县| 隆林| 莱州市| 凤山县| 辛集市| 南华县|