我有一个场景,我必须连续调用相同的组件。我第一次调用它加载的组件,但第二次当我调用相同的组件时,它不会重新加载组件。 我正在使用更改状态方法来更改组件。
ChangeState: function (newState) {
app.state = newState;
},
如果我在其中调用其他组件,那么它可以正常工作。请建议我如何解决这个问题。
答案 0 :(得分:1)
不,如果Vue正在观察变化,它就不会。解决此问题的一种方法是将您的状态设置为null
,然后在nextTick
中重置您的组件:
ChangeState(newState) {
this.state = null;
this.$nextTick(() => {
this.state = newState;
});
}
这是JSFiddle:https://jsfiddle.net/1spj1hzv/
你的代码有点奇怪,app
是什么?您似乎没有引用任何内部数据属性(就像我在答案中所述),但您的问题表明app.state
是被动的,因此您可能需要针对您的特定用例调整此答案。 / p>
答案 1 :(得分:1)
尝试以下代码。如果不支持$,它将起作用。
Vue.nextTick(function() {
app.state = newState;
})