在写项目的时候遇到了一个报错问题,虽然功能是正常运行,chrome的提示是:[Vue warn]: 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: "goods".
然后上网查了一下是因为Vue2移除了组件的props双向绑定功能,以往是利用.sync绑定修饰符实现props的双向绑定功能。解决方法有说用创建副本变量调用,有说用mixin组件解决,我都试了一下发现还是没解决问题。
这报错的本质就是父组件传入子组件的props值不可修改后传回给父组件,这样会导致可能无意中修改了父组件的状态或数据流,通常我们把传入的数据写在子组件的props那里,我的解决方法是:把原本写在props里的要进行双向绑定的数据改写在data里,这样就不再出现报错提醒了。
情况可能有很多种,不过这方法对我有效,希望可以帮到你们。