【问题标题】:Angular Router not reloading on browser refreshAngular Router 不会在浏览器刷新时重新加载
【发布时间】:2015-02-06 15:46:55
【问题描述】:

我正在使用 Angular 1.3.8 附带的路由器。我注意到,当加载视图并刷新浏览器时,不会重新加载该视图的控制器。我必须转到另一个视图,然后返回以重新加载。这是什么原因?有没有办法让它在刷新时重新加载?

谢谢。

路由器代码:

    $routeProvider
        .when('/Grid', {
            templateUrl: "Home/Grid",
            controller: "GridExample",
        controllerAs: 'vm'
    })
    .when('/AutoComplete', {
        templateUrl: "Home/AutoComplete",
        controller: "AutoComplete",
        controllerAs: 'vm'
    })
    .when('/WebApi', {
        templateUrl: "Home/WebApi",
        controller: "WebapiGridExample",
        controllerAs: 'vm'
    })
    .otherwise(
            {
                redirectTo: '/home/Index'
            });

【问题讨论】:

  • 你能发布你的路由器代码吗
  • 我已编辑添加路由器代码。感谢您的观看!
  • 您的网址不应以大写字母开头。这只是一个不好的做法。
  • 你怎么知道控制器没有被加载?你在做一个 console.log() 或类似的东西
  • 是的,以及在浏览器 (Chrome) 调试器中的中断。

标签: angularjs


【解决方案1】:

这适用于所有浏览器吗?因为 IE、Chrome、Safari、Firefox 的行为可能不同。但要解决这个问题:

你可以强制刷新

$route.reload();

您可以将它放在控制器的开头,它应该可以工作。此外,这些内容也值得阅读:

How to watch for a route change in AngularJS?

AngularJS Paging with $location.path but no ngView reload

【讨论】:

  • 这确实解决了上述问题(让我走了大约 3/4 的路)。谢谢!
猜你喜欢
  • 1970-01-01
  • 2019-05-31
  • 2017-08-22
  • 2018-03-14
  • 1970-01-01
  • 1970-01-01
  • 2018-12-25
  • 2019-06-23
  • 2017-03-22
相关资源
最近更新 更多