五、說一下vue父組件給了組件傳值,子組件不更新的可能原因,怎麼解決?

父組件傳來的數據 parentData ,你在子組件又做了一個數據childData ,並且你只是進行了第一次的賦值(把parentData給了childData),父組件更新數據的時候,並沒有對子組件的childData做額外的處理更新,子組件就不會做自動更新數據。

推薦: 子組件不要賦值直接把輔組件掛載在子組件上本身就是響應式,如果業務允許的情況下強烈推薦!!!!

1、在子組件中watch 去監聽 parentData ,一旦改變就重新賦值childData爲新的值

2、computed: 或者直接用childData寫成computed屬性, return組件的parentData。

3、組件重載:給調用子組件的地方加個key屬性,parentData改變的時候,去修改這個key,觸發childData的重新賦值(不太推薦)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章