vue-父組件傳值props(對象)給子組件


props傳值大家都很清楚,

 

###prps 可以傳一個數字

###prps 可以傳一個布爾值

###prps 可以傳一個數組

###prps 可以傳一個對象

###prps 可以傳一個對象的所有屬性

 

今天就遇到了 在傳對象時,所需要的問題.

 

問題:

1.從父組件傳來了

props['info']  // info 就是一個數組,每一項就是一個對象

其中我需要用到info[0].id //這個值

 

於是 我在mounted:{

  this.id= this,info[0].id        //////////////報錯,報unfinded

}

而且打印 info 也是 打印不出來 

原因則是 異步更新值的問題 

就是說開始的時候有個默認值,這個默認值會被異步數據改變,比如說這個異步數據返回的object,如果你用props的方式去傳遞這個數據,其實第一次傳遞的空值,第二次傳遞的是更新后的值,所以就出現報未找到的錯誤.

解決方法:
既然說第一次是空值,它會這樣處理''.items[0],那么我們是不是可以在html判斷這個是不是空(或者在computed或者是watch來判斷是否為默認值)
 
我的解決方法就是在watch,監聽這個值 
let id = this,info && this.info[0] && this.info[0].id
 
只有等 這個id有值時 才會進行賦值 !!!!!!!!!! 
 
查了好久,但是還好找到了原因
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM