Vue笔记(props和 mounted)

解决父组件给子组件传值,子组件在mounted里面打印为空

父组件:

<RuleCheck :geometry=Geo></RuleCheck>

子组件:

props:{
  geometry: {
    type: Array, required:true
  },
},
mounted() {
    console.log(this.geometry) //null 
}

当我们在子组件中输出父组件传过来的值发现为空,这是因为子组件挂载的时候,这个itemList父组件里也是为空的,后来父组件做了请求之类的工作后,更新了这个itemList然后往子组件里面传递,所以开始挂载的时候是itemLIst是空的,后来才有值。
解决的方法是用watch 来监听Props中的数据然后做出响应的操作

 watch:{
  geometry(val) {
    console.log(val)
  }
}

若是还不能得到值,可以尝试使用深度监听

watch:{
  geometry: {
    handler(newName, oldName) {
      console.log(newName) 
    },
     immediate: true
  }
}

版权声明:
作者:广州前端开发
链接:https://www.develophm.com/index.php/vue/313/
来源:开发之家
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>