vue的子组件在created/mounted里获取不到prop的值
props: {instance: {type: String,required: true}},instanceID的值明明传过来了 但是在created里却获取不到推荐写法 使用watch监听instance: function(newVal, _oldVal) {this.instanceId = newVal;//在这里调用 created 里面的函数}...
·
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条内容
所有评论(0)