【问题标题】:Angular js - resolve and run() order of executionAngular js - 解析和运行()执行顺序
【发布时间】:2014-06-18 01:20:27
【问题描述】:

感谢AngularJS app.run() documentation?这个答案,我可以看到 Angular 运行模块的顺序,我的问题是:

如果我有:

app.config(function () {
    $routeProvider.when('/', {
        ....
        resolve: {
            // something to resolve
        }
    });
});

app.run(function () {
    // something to run
});

run() 会在 routeProvider resolve:{} 解析之前执行吗?

【问题讨论】:

  • 有人像孩子一样玩 -1 按钮

标签: javascript angularjs module config


【解决方案1】:

至少在我的实验中,是的,解析是在app.run 之后运行的。

this jsfiddle你可以看到我得到的调用顺序是:

  1. 应用配置
  2. 应用运行
  3. 指令设置
  4. 指令编译
  5. 应用控制器
  6. 指令链接
  7. ** 数据解析调用**
  8. 新路由的控制器

正如您在小提琴中看到的,我通过使用console.log 函数作为传递给resolve 的对象的属性值来检查这一点:

resolve: {
            data: function() {
              console.log('Data resolve called');
            }
         }

您可以在代码中使用相同的方法来检查routeProvider 何时开始检查依赖项。

【讨论】:

    猜你喜欢
    • 2011-10-26
    • 1970-01-01
    • 1970-01-01
    • 2019-10-19
    • 2018-06-05
    • 2016-04-07
    • 1970-01-01
    • 2017-10-09
    • 1970-01-01
    相关资源
    最近更新 更多