【问题标题】:How to reload whole page in AngularJS through Module.js?如何通过 Module.js 在 AngularJS 中重新加载整个页面?
【发布时间】:2017-11-02 07:44:13
【问题描述】:

我想通过module.js重新加载整个页面。

调用控制器

 $state.go("app.home");

 $stateProvider
        .state('app.home', {
            url: '/home',
            data: {
                title: 'About'
            },
            views: {
                "content@app": {
                    templateUrl: 'app/home/views/home.html',
                    controller: 'HomeController'
                }
            }
        })

现在我正在使用 location.reload 来重新加载页面。但是当我将 location.reoload 放入 HomeController 时,它会重新加载无限时间。这就是为什么我只想在第一次通过$stateprovider 重新加载我的页面时。我看过一个链接How to reload or re-render the entire page using AngularJS。 但我无法解决我的问题,因为我想通过 Module.js 重新加载页面。 而$state.reload();是刷新状态而不是重新加载页面。

【问题讨论】:

  • 请详细解释reload only first time。在您的案例中,“第一次”的定义是什么?
  • 当我导航到 HomeController 控制器时,此控制器仅在第一次重新加载。
  • 因为当我将 location.reload 放入 HomeController 时,它会重新加载无限时间

标签: javascript angularjs state


【解决方案1】:

您可以在 cookie 参数中保存“第一次状态”,以确保它只重新加载“第一次”以防止无限循环。把这些东西放在你的 HomeController 控制器中:

if (!$cookies.get('firsttime')) {
  $cookies.put('firsttime', true);
  $window.location.reload();
}

>> Demo plnkr(关于视图在“第一次”时重新加载)

【讨论】:

  • 你能解释一下-->你可以保存一个“第一次状态”
猜你喜欢
  • 1970-01-01
  • 2016-11-03
  • 2013-05-18
  • 2013-07-17
  • 1970-01-01
  • 2014-03-20
  • 2016-03-13
  • 2015-12-17
  • 1970-01-01
相关资源
最近更新 更多