vue2.0在使用props进行父子组件传值时,子组件需要改变props中的值报错!
以下是源代码:
props: {
ratings: {
type: Array,
default() {
return [];
}
},
selectType: {
type: Number
}
},
methods: {
select (type, event){
if (!event._constructed){
return
}
this.selectType = type
}
}
在Vue2中组件的props的数据流动改为了只能单向流动,即只能由组件外(调用组件方)通过组件的DOM属性attribute
传递props
给组件内,组件内只能被动接收组件外传递过来的数据,并且在组件内,不能修改由外层传来的props数据。
解决方案:
在data中创建一个变量 ratingType,并将 selectType 的值赋值给它,再在方法中调用即可。
data () {
return{
ratingType: this.selectType
}
},
methods: {
select (type, event){
if (!event._constructed){
return
}
this.ratingType = type
}
}
搞定!