12bet,的读书笔记

AngularJS模块加载

配置

12bet,在模块的加载阶段,AngularJS会在提供者注册和配置的过程中对模块进行配置。

这个阶段是唯一12bet,能够在应用启动前进行修改的部分

angular.module('myApp', [])
    .config(function($provide) {
    });

.factory().directive()等都是.config()的语法糖,如下面这段代码:

angular.module('myApp', [])
    .factory('myFactory', function() {
        var service = {};
        return service;
    })
    .directive('myDirective', function() {
        return {
            template: '<button>Click me</button>'
        }
    });

12bet,等同于:

angular.module('myApp', [])
    .config(function($provide, $compileProvider) {
        $provide.factory('myFactory', function() {
            var service = {};
            return service;
        });
        $compileProvider.directive('myDirective', function() {
            return {
                template: '<button>Click me</button>'
            };
        });
    });

唯一例外的是constant()方法,这个方法总会在所有配置块之前被执行

12博体育,只有少数几种类型的对象可以被注入到config()函数中:提供者和常量。12博体育,只能注入用provider()语法构建的服务,其他的则不行。

config()函数接受一个参数-configFunction: (函数):AngularJS在模块加载时会执行这个函数

运行块

运行块在注入器创建之后被执行,它是所有AngularJS应用中第一个被执行的方法。运行块通常用来注册全局的事件监听器。这就是run()方法

run()接受个参数- initializeFn(函数): AngularJS在注入器创建后会执行这个函数。