vue父组件数据更新,子组件没有变化。

 在父子组件传参时,父组件将值传到子组件后,子组件进行数据展示,在第一次传参时可以正常显示,过一段时间后重新赋值,则发现子组件里面数据没有更新,这个时候需要在子组件中加入watch 进行数据监听

示例

父组件


<div :parenData ="datas"></div>

<script>
data(){
  return{
   datas:"1"
 }
},
methods:{
  changeData(){
    this.datas= "2";
 }
},
mounted(){
  let that = this;
  settimeout(()=>{
    that.changeData();
  });
}
</script>

子组件

<div>{{msg}}</div>

<script>
data(){
  return{
    msg:""
  }
},
watch:{
    parendData(n,o){ //n为新值,o为旧值;
      this.msg = n;
    }
},
props:["parendData"],
mounted(){
  this.msg = this.parendData;
}


</script>

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐