Avoid mutating a prop directly since the value will be overwritten...... Vue2组件props传值更改报错

本文解决Vue2.0中子组件修改props值的问题。介绍如何通过创建中间变量来实现数据更新,保持数据单向流动的原则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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
        }
    }
搞定!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值