1、问题
父组件向子组件传值,父组件值更新,调用子组件方法,方法中拿到的还是旧值。
2、原因
在父组件值改变的方法中,修改传递给子组件的值,直接调用子组件的方法,此时,子组件的dom还未更新,需要等整个父组件(包含子组件)更新完毕后再调用子组件的方法。
3、解决办法
在父组件改变值的方法中使用
this.$nextTick(()=>{
this.$refs.子组件使用标签身上ref的值.子组件的方法()
}),
等整个组件DOM更新完毕后(此时子组件接收的父组件的值也更新了)再调用子组件的方法,此时,子组件的方法使用的就是父组件传递的最新的值。