vue 子組件修改父組件變量問題


 

  昨天遇到一個這樣的場景, 主頁面引用了一個子頁面,子頁面有個Redio選擇,2個選項。

  默認的,會從父組件傳遞一個參數給子組件作為默認值,實現默認選中效果,以及用來做反選。

  開始沒什么問題,頁面都擺上去了,但是當我點擊進行選擇的時候,console控制器拋出異常了,提示我不能在子組件里修改父組件傳遞過來的值。

  網上查證了一番,原因是父組件往子組件傳值默認是單向綁定的,不允許在子組件修改值。

  ...

  網上有些答案, 不過有點坑,最后還是問的公司的前端解決了,做法是這樣的:

  在子組件定義watch方法,監聽父組件傳遞的變量的值,然后把值賦值給子組件內部自己定義的變量即可,如圖:

  

  watch里面的事件名稱即父組件傳遞的變量名,參數val是變量的值,具體用法如圖所示。

  這樣就很好的解決了子組件會修改父組件值的問題。

 


免責聲明!

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



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