Angular js - resolve和run()执行顺序

时间:2014-06-16 17:30:28

标签: javascript angularjs module config

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

如果我有:

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

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

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

1 个答案:

答案 0 :(得分:27)

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

this jsfiddle中,您可以看到我收到的致电订单是:

  1. app config
  2. app run
  3. 指令设置
  4. 指令编译
  5. app controller
  6. 指令链接
  7. **数据解析名为**
  8. 新路线的控制器
  9. 正如您在小提琴中看到的那样,我使用console.log函数作为传递给resolve的对象属性的值来检查:

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

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