2017-03-01 42 views
1

我有一个场景,我必须连续调用相同的组件。第一次当我调用它加载的组件时,但第二次调用同一个组件时,它不会重新加载组件。 我正在使用更改状态方法更改组件。如果组件名称相同,子组件不会再次调用

ChangeState: function (newState) { 
     app.state = newState; 
}, 

如果我在其中调用其他组件然后它能正常工作。请建议我如何解决这个问题。

+0

你为什么要“调用”在你的应用程序中使用它们的组件?有关您的代码的更多信息将会有所帮助。 – Potray

回答

1

请尝试下面的代码。如果不支持$,它将起作用。

Vue.nextTick(function() { 
         app.state = newState; 
        }) 
1

不,不会,如果Vue正在观察变化。解决此问题的办法是你的状态设置为null,然后重置您的组件在nextTick

ChangeState(newState) { 
    this.state = null; 
    this.$nextTick(() => { 
    this.state = newState; 
    }); 
} 

这里的的jsfiddle:https://jsfiddle.net/1spj1hzv/

你的代码是有点怪,虽然,什么是app?你似乎没有提到任何内部数据属性(就像我在我的答案中一样),但是你的问题表明app.state是被动的,所以你可能需要为你的特定用例调整这个答案。

+0

谢谢你的回答是有帮助的 –

相关问题