$ref赋值之后,子组件不渲染(刷新后,$ref父组件传值,子组件不更新数据问题)

在父组件中,点击搜索,

通过this.$refs传值给子组件

this.$refs.GoodsClassNav.paramsAll.keyword = key;

 子组件结果中不显示,

但是打印this.$refs.GoodsClassNav.paramsAll.keyword,可以打印到最新的值,点击子组件中的按钮一切又能回复正常,

 原因:这是因为子组件dom存在缓存中,没有进行更新,此时,我们的思路就是让子组件刷新,

方法有很多,既然可以用 this.$refs.GoodsClassNav.paramsAll.keyword  可以获取到值,我们就可以用¥ref获取子组件中大方法,我们给子组件添加一个强制刷新组件的方法

父组件

this.$refs.GoodsClassNav.getRefse()

子组件:

export default {
  methods: {
    getRefse() {
      this.$forceUpdate();
    }
  }
}

,这样就可以正常传值,实时刷新了

注意:我曾想过用watch方法,但是根本是检测不到的,也是因为dom未刷新的问题,所以还是用我以上的方法,不要用watch了,因为没用。。。我试了,只能从刷新dom方向触发

你可能感兴趣的:(前端,javascript,开发语言)