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]); }]);
这是一个手动的解析过程,大致了解一下解析过程.
新闻热点
疑难解答