【问题标题】:Reload page when back button is clicked angularjs单击后退按钮时重新加载页面
【发布时间】:2014-08-12 22:05:07
【问题描述】:

我是 angularjs 的新手,我正在尝试让我的页面重新加载,并在我点击后退按钮时重新加载控制器。我正在使用嵌套的 UI 路由器,现在,当单击后退按钮时,页面不会重新加载,控制器也不会重新加载。

更具体地说,当您处于子状态并单击后退按钮时,我希望重新加载父状态及其控制器。关于如何解决这个问题的任何建议?谢谢。

【问题讨论】:

  • 您有与州相关联的网址吗?我相信您将需要它们才能使后退按钮起作用。此外,当点击后退按钮时,您将导航到前一个 URL(如果有前一个 URL,则导航到前一个状态),不一定是父状态/URL。您可以通过使用历史 API(至少在现代浏览器中)弄乱浏览器历史来解决此问题,但我不太熟悉尝试这样做。

标签: javascript angularjs


【解决方案1】:

它故意不重新加载,因为这通常效率低下,而且它认为这就是你想要的。当 ui-router 中有嵌套状态时,父级和子级同时处于活动状态,因此 ui-router 通常不需要这样做。如有必要,您可以收听$stateChangeStart,并在必要时致电$state.reload()。请记住,一旦您的页面加载,您就会触发 $stateChangeStart 事件,因此请确保您不会进入无限循环!

【讨论】:

    猜你喜欢
    • 2012-11-14
    • 1970-01-01
    • 1970-01-01
    • 2018-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    • 2017-04-30
    相关资源
    最近更新 更多