2017-03-03 131 views
0

我正在尋找一種方法來清除或刷新我的Angular應用程序,這並不像原油如$window.location.reload();

我有一個問題,我的Highcharts圖(使用highcharts-ng)在返回導航時(即,一旦您加載了頁面並瀏覽不同的頁面並返回到第一頁)無法正確呈現。這是我在Stackoverflow和Highcharts的論壇上發佈的一個問題,但沒有解決問題的運氣。無論如何,我已經搜索了高和低的最佳方法來重新加載我的網頁(這是唯一正常呈現我的圖形的工作解決方案),但只發現`$ window.location.reload();'上班。但是,這並不理想。人們可以看到頁面重新加載等。

所以...我希望可以實現類似的東西,而無需重新加載頁面。也許清除緩存的數據,或者將對控制器的調用模仿爲「第一次調用」(如果這是有意義的),清除特定控制器的$ scope中的任何殘餘或highcharts-ng指令的$ scope?

我已經試過的東西chart.reflow(),用我的chart.config設置等

PS重現圖:有太多的元素打造出的jsfiddle。

謝謝!

鏈接到我的問題上Highcharts:https://forum.highcharts.com/highcharts-usage/chart-changes-settings-on-back-navigation-in-angular-app-t37395/

+0

如果你使用的是ui-router,你可以試試''state.go('charts-page',{reload:'charts-page'})' – Ladmerc

回答

0

如果使用默認$routeProvider可以運行$route.reload()。 如果您使用$ ui-router嘗試$state.reload()

+0

謝謝你的迴應。它幾乎看起來像是在工作,但沒有。調用'$ window.location.reload();'時,似乎有些東西被清除,而這不會被'$ route.reload()'清除。當我在頁面之間導航時,在返回任何先前導航的頁面之前調用'$ window.location.reload()',頁面正常刷新並且所有內容都完美呈現。但是,如果這不在導航之間發生,同樣的問題。 – onmyway

+0

@onmyway或許你有一些邏輯在你的控制器之外?通過這種方式,您必須使用將管理此邏輯的服務來找到解決方法。 –

+0

我有很多邏輯外的控制器,但這些是由服務/工廠管理。太令人沮喪了! :D大聲笑,我會弄清楚。謝謝您的幫助! – onmyway

相關問題