2017-03-03 95 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

相关问题