提问



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


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

最佳参考


这是调用顺序:



  1. app.config()

  2. app.run()

  3. 指令的编译功能(如果它们在dom中找到)

  4. app.controller()

  5. 指令的链接功能(再次,如果找到)



这是一个简单的演示,您可以在其中观看每个执行(如果您愿意,可以进行实验)。[14]


来自Angular的模块文档:[15]



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

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



使用运行块的一种情况是在验证期间。[16]

其它参考1


具体...




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