AngularJS app.run()文档?

时间:2013-12-18 16:13:49

标签: angularjs

app.run()的使用方式和位置?模块定义后,app.config()之后或app.controller()之后?

我正在采用BreezeJS Angular Q,询问是否可以在app.run()函数中运行某些代码。

2 个答案:

答案 0 :(得分:644)

这是调用顺序:

  1. app.config()
  2. app.run()
  3. 指令的编译功能(如果它们在dom中找到)
  4. app.controller()
  5. 指令的链接功能(再次,如果找到)
  6. 这是一个simple demo,您可以在其中观看每个人的执行情况(如果您愿意,可以进行实验)。

    来自Angular's module docs

      

    运行块 - 在创建注入器后执行并执行   过去开始了       应用。只有实例和常量才能注入运行块。这是为了防止       应用程序运行时进一步的系统配置。

         

    运行块是Angular中与main方法最接近的东西。跑步   block是需要运行以启动应用程序的代码。它   在配置完所有服务后执行   注射器已创建。运行块通常包含代码   很难进行单元测试,因此应该单独声明   模块,以便在单元测试中可以忽略它们。

    使用运行块的一种情况是authentications

答案 1 :(得分:29)

具体...

  

app.run()的使用方式和位置?模块定义之后或之后   app.config()之后的app.controller()

其中:

在你的package.js中。 /packages/dashboard/public/controllers/dashboard.js

如何:

让它看起来像这样

var app = angular.module('mean.dashboard', ['ui.bootstrap']);

app.controller('DashboardController', ['$scope', 'Global', 'Dashboard',
    function($scope, Global, Dashboard) {
        $scope.global = Global;
        $scope.package = {
            name: 'dashboard'
        };
        // ...
    }
]);

app.run(function(editableOptions) {
    editableOptions.theme = 'bs3'; // bootstrap3 theme. Can be also 'bs2', 'default'
});