只是一个简单的问题。
你能强迫Vue.js重新加载/重新计算所有内容吗?如果有,怎么做?
只是一个简单的问题。
你能强迫Vue.js重新加载/重新计算所有内容吗?如果有,怎么做?
当前回答
这似乎是matthiasg关于这个问题的一个非常干净的解决方案:
你也可以使用:key=" somvariableunderyourcontrol ",当你想要完全重建组件时改变键
对于我的用例,我将Vuex getter作为道具提供给组件。Vuex会以某种方式获取数据,但反应性不会可靠地重新呈现组件。在我的例子中,将组件键设置为道具上的某个属性可以保证在getter(和属性)最终解析时进行刷新。
其他回答
为了重新加载/重新渲染/刷新组件,停止长编码。Vue.JS可以做到这一点。
只需使用:key属性。
例如:
<my-component :key="unique" />
我正在使用BS Vue表槽。我要为这个组件做一些事情,让它是唯一的。
这似乎是matthiasg关于这个问题的一个非常干净的解决方案:
你也可以使用:key=" somvariableunderyourcontrol ",当你想要完全重建组件时改变键
对于我的用例,我将Vuex getter作为道具提供给组件。Vuex会以某种方式获取数据,但反应性不会可靠地重新呈现组件。在我的例子中,将组件键设置为道具上的某个属性可以保证在getter(和属性)最终解析时进行刷新。
使用vm。美元(varName,价值)。
在Change_Detection_Caveats中查看详细信息
有两种方法,
你可以在你的方法处理程序中使用$forceUpdate()
<您的组件@click = " reRender ()" > < /组件>
<script>
export default {
methods: {
reRender(){
this.$forceUpdate()
}
}
}
</script>
你可以给你的组件一个:key属性,并在想要渲染时增加
<your-component:key="index" @click="reRender()" > < /组件>
<script>
export default {
data() {
return {
index: 1
}
},
methods: {
reRender(){
this.index++
}
}
}
</script>
添加以下代码:
this.$forceUpdate()