为什么控制台打印的顺序与加载脚本相反?

时间:2015-06-26 12:48:00

标签: angularjs angularjs-directive requirejs angularjs-scope angularjs-ng-repeat

我正在尝试同时使用require js和angular js。但是我得到反向控制台输出与比较加载脚本。换句话说当我运行并检查我的网络和控制台两者都是相反的原因?示例console.log ("登录控制器js start")先打印,然后在dom中加载为什么? console.log(" bootstrap js end")首先加载但在控制台结束时打印。请参考图像

这里是plunker http://plnkr.co/edit/5bOh622bnlDAyR0BGXOH?p=preview

/*global define, console */

define(function () {
    'use strict';
    console.log("login controller js start")
    function ctrl($scope, $state) {

        $scope.login = function () {
           alert("--")
        };

    }

    ctrl.$inject = ['$scope', '$state'];
     console.log("login controller js end")
    console.log(ctrl);
    return ctrl;

});

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

您使用requireJS。因此requireJS将按照您的requireJS依赖项配置的顺序加载模块,并首先初始化模块而不依赖于它。

例如,您有3个具有以下依赖关系的模块:

  

app - >角度 - > jquery的

在您的应用程序中,您可以为模块 app 定义依赖项。 requireJS会将依赖关系解析为 angular jquery 。但当然它必须以相反的顺序初始化模块。