injector

angular 提供了一套依赖注入的机制,和后台很像。虽然我不觉得有很重要。

var $injector = angular.injector(["myModule"]);
var serviceInstance = $injector.get("serviceName"); //可以获取到service 

has_service = $injector.has("serviceName");
$injector.invoke(['serviceA', function(serviceA){}]); //我们很多函数都是通过这个方式实现依赖注入和执行的 

 
  
        var output = '<div>' +

                        '<div>' +

                           '{{name}}' +

                        '</div>' +

                     '</div>';

        var $injector = angular.injector(["ng"]);

        $injector.invoke(["$rootScope", "$compile", function ($rootScope, $compile) {

            var scope = $rootScope.$new(); //创建继承scope

            scope.name = "933";

            var link = $compile(output); //编辑 {{}}也是指令的一种

            var node = link(scope); //与scope绑定 

            $rootScope.$digest(); //渲染

            document.body.appendChild(node[0]);

        }]);
这是一个手动的解析过程,大致了解一下解析过程.
 

 

你可能感兴趣的:(inject)