如何避免在Vue中子组件修改父组件props时出现错误?
- 内容介绍
- 文章标签
- 相关推荐
本文共计294个文字,预计阅读时间需要2分钟。
在Vue中,不建议直接在子组件中修改从父组件传递下来的props值。如果这样做,会收到如下警告:
[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 to achieve the desired effect.
这是因为props一旦被父组件设置,其值就不应该被直接修改,因为父组件的重新渲染会覆盖掉这些修改。正确的方法是使用组件的data或computed属性来处理这些值。
vue不推荐直接在子组件中修改父组件传来的props的值,会报错
[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: "result" (found in component )
<input v-model="currentSearch" type="text" class="input-search" @keydown.enter="doSearch">
export default { name:"round-search-bar", props:['search'], //父组件传来的值 data(){ return { currentSearch: this.search //通过data, 定义新变量currentSearch, 这样currentSearch的值变更时,不会影响父组件传来的search的值 } }, methods: { doSearch(){ Util.searchAPI(this.$router,this.currentSearch) } }, }
以上这篇解决vue 子组件修改父组件传来的props值报错问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持易盾网络。
本文共计294个文字,预计阅读时间需要2分钟。
在Vue中,不建议直接在子组件中修改从父组件传递下来的props值。如果这样做,会收到如下警告:
[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 to achieve the desired effect.
这是因为props一旦被父组件设置,其值就不应该被直接修改,因为父组件的重新渲染会覆盖掉这些修改。正确的方法是使用组件的data或computed属性来处理这些值。
vue不推荐直接在子组件中修改父组件传来的props的值,会报错
[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: "result" (found in component )
<input v-model="currentSearch" type="text" class="input-search" @keydown.enter="doSearch">
export default { name:"round-search-bar", props:['search'], //父组件传来的值 data(){ return { currentSearch: this.search //通过data, 定义新变量currentSearch, 这样currentSearch的值变更时,不会影响父组件传来的search的值 } }, methods: { doSearch(){ Util.searchAPI(this.$router,this.currentSearch) } }, }
以上这篇解决vue 子组件修改父组件传来的props值报错问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持易盾网络。

