AngularJS app.run()文档?

app.run()如何以及在哪里使用? 在模块定义之后,在app.config()app.controller()

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

这是呼叫顺序:

  1. app.config()
  2. app.run()
  3. 指令的编译function(如果在dom中find的话)
  4. app.controller()
  5. 指令的链接function(再次,如果find)

这里有一个简单的演示 ,你可以观看每一个正在执行(如果你想实验)。

从Angular的模块文档 :

运行块 – 在创build注入器后执行并用于启动应用程序。 只有实例和常量可以注入到运行块中。 这是为了防止应用程序运行时进一步的系统configuration。

对于主要方法来说,运行块是Angular中最接近的东西。 运行块是需要运行以启动应用程序的代码。 在完成所有服务configuration并创build注入器后执行。 运行块通常包含很难进行unit testing的代码,因此应该在隔离模块中声明,以便在unit testing中可以忽略它们。

使用运行块的一种情况是在authentication过程中。

特别…

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' });