父传子,子组件可以直接{{ }}这种方式显示接收过来的值,但是如果要去拿到这个值去修改呢?
答:
为什么不能直接修改?
props 是单向绑定的:当父组件的属性变化时,将传导给子组件,但是不会反过来。这是为了防止子组件五一修改父组件的状态。
所以不应该在子组件中修改 props 中的值,Vue 会报出警告。
解决方式:
使用变量存储 prop 的初始值,并用 watch 来观察 prop 值得变化。发生变化时,更新变量的值。
然后在需要的方法里面去使用chooseXXX就行了。