解決vue組件props傳值對象獲取不到的問題
先說問題,父組件利用props向子組件傳值,瀏覽器 console 有這個值,但是獲取不到內(nèi)部的屬性,困了我3個小時,真的**
personal
console
以下為原代碼
1、home.vue(父組件)--personal是被傳的參數(shù)
<!--子組件-->
<form-picker class="form-picker"
:personal="personal"
>
</form-picker>
export default {
data(){
return{
personal:{
state:'',////判斷是修改狀態(tài),還是新增狀態(tài) add/edit
data:[]
}
}
},
mounted(){
this.$api.personal.searchPersonalInfo(this.userInfo.userId).then((res)=>{
this.personal.data = res.data.data //這里給personal對象賦值接口傳來的數(shù)據(jù)
})
},
}
2、formPicker (子組件) --接收personal
export default {
props:['active','personal'],
mounted(){
console.log(149,this.personal)
console.log(150,this.personal.state)
}
}
運(yùn)行結(jié)果
明明149行有 state 值,150行輸出卻沒有了,是不是超級奇怪
后面經(jīng)過大佬的講解,其實瀏覽器console.log也是應(yīng)該沒有的
所以,其實我們子組件一開始根本就沒有取到這個personal這個對象。
3、解決方法--使用watch
父組件
export default {
data(){
return{
personal:{
state:'',////判斷是修改狀態(tài),還是新增狀態(tài) add/edit
data:[]
}
}
},
mounted(){
this.$api.personal.searchPersonalInfo(this.userInfo.userId).then((res)=>{
//this.personal.data = res.data.data //這里給personal對象賦值接口傳來的數(shù)據(jù)
//使用以下方法重新賦值,上面方法watch監(jiān)聽不到,具體什么原因,我也不清楚,知道的告知我!謝謝
this.personal = {
data: res.data.data,
state: 'edit'
}
})
},
}
接下來子組件就能 watch 到 personal 了 子組件
watch:{
personal(newValue,oldValue){
console.log(181,newValue)
},
/** 輸出
{
data: res.data.data,
state: 'edit'
}
**/
}
總結(jié)
以上所述是小編給大家介紹的解決vue組件props傳值對象獲取不到的問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
element-ui中的clickoutside點(diǎn)擊空白隱藏元素
這篇文章主要為大家介紹了element-ui中的clickoutside點(diǎn)擊空白隱藏元素示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03
element的表單校驗證件號規(guī)則及輸入“無”的情況校驗通過(示例代碼)
這篇文章主要介紹了element的表單校驗證件號規(guī)則及輸入“無”的情況校驗通過,使用方法對校驗數(shù)據(jù)進(jìn)行過濾判斷,本文通過示例代碼給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2023-11-11
詳解vue.js 開發(fā)環(huán)境搭建最簡單攻略
本篇文章主要介紹了vue.js 開發(fā)環(huán)境搭建最簡單攻略,這里整理了詳細(xì)的步驟,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06
vue3中關(guān)于路由hash與History的設(shè)置
這篇文章主要介紹了vue3中關(guān)于路由hash與History的設(shè)置方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-04-04

