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以后再渲染

Logo

前往低代码交流专区

更多推荐