如何重新加载 vue 组件?

新手上路,请多包涵

我知道解决方案是像这样更新道具数据:

 this.selectedContinent = ""

但我想使用另一种解决方案

在我阅读了一些参考资料后,解决方案是:

 this.$forceUpdate()

我试了一下,但它不起作用

演示和完整代码如下:

https://jsfiddle.net/Lgxrcc5p/13/

你可以点击按钮测试试试

我需要更新属性数据以外的解决方案

原文由 moses toh 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 490
1 个回答

您必须为您的组件分配一个键。当你想重新渲染一个组件时,你只需更新密钥。更多信息 在这里

 <template>
    <component-to-re-render :key="componentKey" />
</template>

export default {
  data() {
    return {
      componentKey: 0
    }
  },
  methods: {
    forceRerender() {
      this.componentKey += 1
    }
  }
}

原文由 Ilyich 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题