什么在AngularJS应用程序中首先运行? (模块,配置,运行等)

时间:2015-12-14 01:35:37

标签: angularjs

我很好奇我构建我的应用程序的方式(我可能在不重要的事情上浪费时间),但好奇心引导我提出问题。

在AngularJS中,应用程序如何运作?例如,如果我在app.js中有这个代码(删除我的实现,只显示结构):

(function() {

    'use strict';

    angular
        .module('app', ['ui.router', 'satellizer', 'permission', 'angular-jwt', 'ui.bootstrap', 'angular-loading-bar'])
        .config(['$stateProvider', '$urlRouterProvider', '$authProvider', '$locationProvider', '$httpProvider', Config])
        .run(['$rootScope', '$state', '$auth', 'jwtHelper', 'Permission', Run]);

    function Run($rootScope, $state, $auth, jwtHelper, userService, Permission) {
        // Some code
    }

    function Config($stateProvider, $urlRouterProvider, $authProvider, $locationProvider, $httpProvider) {
        // Some code
    }

})();

..先运行什么?我很好奇,因为我想知道我是否应该在run之前放置config,依此类推。我不希望配置加载,但是等待run做某事,当首先run更有效时,如果没有等待......如果这样做了甚至是一个问题。

任何澄清都将不胜感激。

3 个答案:

答案 0 :(得分:3)

来自官方Angular文档(https://docs.angularjs.org/guide/module#!/

"运行块

运行块是AngularJS中与main方法最接近的东西。运行块是需要运行以启动应用程序的代码。在配置完所有服务并创建注入器后执行。"

(' config'正在配置使用'提供商'方法实例化的服务)

答案 1 :(得分:3)

当引导时,首先AngularJS应用所有常量定义。然后,AngularJS按照注册顺序应用配置块。

src:https://docs.angularjs.org/guide/module#!%2F

电话订单

  1. app.config()
  2. app.run()
  3. 指令的编译功能(如果在DOM中找到它们。
  4. app.controller()
  5. 的src:https://gxbsst.gitbooks.io/angularjs-foundations/config_vs_run.html

答案 2 :(得分:1)

首先它将配置然后运行将被执行