2017-03-01 45 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

謝謝你的回答是有幫助的 –

相關問題