子組件修改父組件的值踩坑
Vue1.0升級至2.0之后,直接在子組件修改父組件的值是會報錯的 目的是為了阻止子組件影響父組件的數據。
我們都知道在vue中,父組件傳入子組件的變量是存放在props屬性中的,所有的 prop 都使得其父子 prop 之間形成了一個單向下行綁定:父級 prop 的更新會向下流動到子組件中,但是反過來則不行。(父組件更新,子組件中的prop值也會更新,但子組件不能修改由父組件傳遞過來的值)。
報錯警告:Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property based on the prop’s value. Prop being mutated:
解決辦法:我們在調用父給子的變量的時候是跟data里面的變量一樣的,都是通過this.變量來調用,這個問題就是說從父組件傳入子組件的變量是不能this.變量直接改變的,要在data或者computed屬性里面重新定義一個變量,改變data或者computed屬性里面的變量就不會報錯了。


定義一個本地的stepCodeParent 屬性並將這個 prop 用作其初始值,同步對組件的修改,再通知父組件更新



