你能强制 Vue.js 重新加载/重新渲染吗?

新手上路,请多包涵

只是一个快速的问题。

你能强制 Vue.js 重新加载/ 重新计算 一切吗?如果是这样,怎么做?

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

阅读 771
2 个回答

试试这个魔法:

 vm.$forceUpdate();
 //or in file components
 this.$forceUpdate();

无需创建任何悬挂变量 :)

更新: 当我刚开始使用 VueJS 时,我发现了这个解决方案。然而,进一步的探索证明这种方法是一种拐杖。据我回忆,有一段时间我摆脱了它,只是将所有无法自动刷新的属性(主要是嵌套属性)放入计算属性中。

更多信息在这里: https ://v2.vuejs.org/v2/guide/computed.html

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

这似乎是 matthiasg这个问题 上的一个非常干净的解决方案:

您还可以使用 :key="someVariableUnderYourControl" 并在您想要完全重建组件时更改密钥

对于我的用例,我将 Vuex 吸气剂作为道具提供给组件。 Vuex 会以某种方式获取数据,但反应性不会可靠地启动以重新呈现组件。在我的例子中,将组件 key 设置为 prop 上的某个属性可以保证在 getter(和属性)最终解析时刷新。

原文由 Brian Kung 发布,翻译遵循 CC BY-SA 3.0 许可协议

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