uniapp vue 父子传值Avoid mutating a prop directly since、The data property “xx“ is already解决办法

父子组件传值,如果想要子组件中操作数据,可能出现两个问题

  1. 父组件传show:
<center-popup :show="show">

子组件 props接收

data(){
    return{
      show:false,
    }
  },
  props:{
    show:{
      typle: Boolean,
      default: false,
    },

此时报错
在这里插入图片描述
The data property “show” is already declared as a prop. Use prop default value instead.
就需要把上述data中的show改为isshow

data(){
    return{
      isshow:false,
    }
  },
  1. 子组件操作数据可能会出现问题
    [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: “show”
    解决:
    在子组件中的watch监听数据变化,并且在watch中把值赋值给当前子组件data中的值
watch: {
    show: function(newVal,oldVal){
      this.isshow = newVal; //newVal即是chartData
    }
  },
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值