我有一个场景,我必须连续调用相同的组件。第一次当我调用它加载的组件时,但第二次调用同一个组件时,它不会重新加载组件。 我正在使用更改状态方法更改组件。如果组件名称相同,子组件不会再次调用
ChangeState: function (newState) {
app.state = newState;
},
如果我在其中调用其他组件然后它能正常工作。请建议我如何解决这个问题。
我有一个场景,我必须连续调用相同的组件。第一次当我调用它加载的组件时,但第二次调用同一个组件时,它不会重新加载组件。 我正在使用更改状态方法更改组件。如果组件名称相同,子组件不会再次调用
ChangeState: function (newState) {
app.state = newState;
},
如果我在其中调用其他组件然后它能正常工作。请建议我如何解决这个问题。
请尝试下面的代码。如果不支持$,它将起作用。
Vue.nextTick(function() {
app.state = newState;
})
不,不会,如果Vue正在观察变化。解决此问题的办法是你的状态设置为null
,然后重置您的组件在nextTick
:
ChangeState(newState) {
this.state = null;
this.$nextTick(() => {
this.state = newState;
});
}
这里的的jsfiddle:https://jsfiddle.net/1spj1hzv/
你的代码是有点怪,虽然,什么是app
?你似乎没有提到任何内部数据属性(就像我在我的答案中一样),但是你的问题表明app.state
是被动的,所以你可能需要为你的特定用例调整这个答案。
谢谢你的回答是有帮助的 –
你为什么要“调用”在你的应用程序中使用它们的组件?有关您的代码的更多信息将会有所帮助。 – Potray