【问题标题】:How to run a function before page refresh in Angular if statement is true?如果语句为真,如何在Angular中的页面刷新之前运行函数?
【发布时间】:2016-02-01 16:59:15
【问题描述】:

我有一个使用 $rootProvider 的具有 8 条不同路由的应用程序。

如果我在/signUp 上并且检测到页面重新加载,我想检查$scope.createAccView = true。如果为真,则运行一个函数。

我尝试了不同的方法,使用$routeChangeStart$routeChangeSuccess,但没有奏效。

主要问题是,如果检测到路由更改并且$scope.createAccView = true,那么我需要在更改路由之前运行一个函数。

有人知道我该怎么做吗?

【问题讨论】:

  • 我不明白 run a function before page refresh in Angular? 部分..为什么有人要在 SPA 中重新加载页面?
  • 这听起来像XY problem。您可以使用范围的破坏事件,但听起来您的数据确实应该在服务中。提供更多关于您正在尝试做什么的详细信息

标签: angularjs reload route-provider


【解决方案1】:

我能够通过这种方式解决我的问题:

window.onunload = unloadPage;
function unloadPage()
{
    var path = $location.path();
    if(path === "/signUp"){
        Auth.$unauth();
    }
}

【讨论】:

    【解决方案2】:

    如果您重新加载页面(使用浏览器“重新加载”),angularjs 应用将被重新初始化并且不会检测到任何状态变化

    【讨论】:

      猜你喜欢
      • 2022-11-17
      • 1970-01-01
      • 2017-06-13
      • 2014-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-18
      • 1970-01-01
      相关资源
      最近更新 更多