只是一个简单的问题。
你能强迫Vue.js重新加载/重新计算所有内容吗?如果有,怎么做?
只是一个简单的问题。
你能强迫Vue.js重新加载/重新计算所有内容吗?如果有,怎么做?
当前回答
如果您正在使用路由器视图或Vue路由器,您可以直接使用关键功能
<router-view :key="$route.path"></router-view>
这将告诉路由器视图在每次路径改变时重新渲染页面。
其他回答
这似乎是matthiasg关于这个问题的一个非常干净的解决方案:
你也可以使用:key=" somvariableunderyourcontrol ",当你想要完全重建组件时改变键
对于我的用例,我将Vuex getter作为道具提供给组件。Vuex会以某种方式获取数据,但反应性不会可靠地重新呈现组件。在我的例子中,将组件键设置为道具上的某个属性可以保证在getter(和属性)最终解析时进行刷新。
使用v-if指令
<div v-if="trulyvalue">
<component-here />
</div>
因此,简单地将truyvalue的值从false更改为true将导致div之间的组件重新渲染
我找到了一个办法。这有点俗气,但很管用。
vm.$set("x",0);
vm.$delete("x");
其中vm是视图模型对象,x是一个不存在的变量。
Vue.js会在控制台日志中抱怨这个问题,但它确实会触发所有数据的刷新。使用版本1.0.26进行测试。
尝试使用这个。$router.go(0);手动重新加载当前页面。
为了重新加载/重新渲染/刷新组件,停止长编码。Vue.JS可以做到这一点。
只需使用:key属性。
例如:
<my-component :key="unique" />
我正在使用BS Vue表槽。我要为这个组件做一些事情,让它是唯一的。