vue的子组件在created/mounted里获取不到prop的值

props: {
    instance: {
      type: String,
      required: true
    }
  },

instanceID的值明明传过来了 但是在子组件里却获取不到

在挂载的回调里拿不到props 大概率是因为在该组件渲染的时候,父组件还没有值传递给它

因为父组件的instanceID获取也需要时间

这就导致子组件已经创建了,但是父组件所请求的instanceID还没有返回

父组件无法传递最新的props 数据

推荐写法

  • 使用watch监听
 instance: function(newVal, _oldVal) {
      this.instanceId = newVal;
      //在这里调用 created 里面的函数
 }
  • 使用v-if 创建销毁

在父组件引入子组件的标签中加个v-if,当这个数据有值的时候才加载子组件

<child-component :instance="instance" v-if=" instance!== '' " />

这样子组件会等到有instanceID以后再渲染

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值