一、说明
在vue1.x中,可以在子组件中改变prop的值,在vue2.x中已被废弃。官方文档解释如下:
组件内修改 prop 是反模式 (不推荐的) 的。比如,先声明一个 prop ,然后在组件中通过 this.myProp = 'someOtherValue' 改变 prop 的值。根据渲染机制,当父组件重新渲染时,子组件的内部 prop 值也将被覆盖。
二、解决方法
- 通过data属性,用prop去设置一个data属性的默认值
- 通过computed属性
方法1的示例:
data() {
return {
selectType_c: this.selectType,
onlyContent_c: this.onlyContent
}
},
props: {
selectType: {
type: Number,
default: 1
},
onlyContent: {
type: Boolean,
default: false
}
}
然后在method中修改data中的值而不是props
网友评论