angular.js - $injector注入器里的ng是什么意思?
本文介绍了angular.js - $injector注入器里的ng是什么意思?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
在看一个$injector用法的demo,下面是demo的所有代码:
<!DOCTYPE html> <html lang="en" ng-app="a4_6"> <head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript" src="../bower_components/angular/angular.min.js"></script> </head> <body> <h1>has和get方法的示例</h1> <div ng-controller="c4_6"> <!--视图组件--> </div> </body> <script type="text/javascript"> var a4_6 = angular.module('a4_6',[]) .factory('$custom', function(){ return { print: function(msg){ console.log(msg); } }; }); var injector = angular.injector(['a4_6','ng']); var has = injector.has('$custom'); console.log(has); if(has){ var custom = injector.get('$custom'); custom.print("控制台输出任意的内容"); } a4_6.controller('c4_6',['$scope','$custom', function($scope,$custom){ //控制器代码 }]); </script> </html>
var injector = angular.injector(['a4_6','ng']);
这句话里的ng是什么意思啊?
解决方案
指核心的‘ng’module,也即angular核心模块var injector = angular.injector(["ng"])是创建自己的$injector而不是应用启动时自动创建的$injector。自己创建$injector你需要传递一个module列表,上面例子有'a4_6','ng'两个module。如果你需要使用Angular核心中的任何service的话你必须显式的指明ng module。angular.module方法会假设你对ng module有依赖,并会悄悄的为你的依赖列表添加ng,而injector函数对于依赖module则不会做任何的假设。
这篇关于angular.js - $injector注入器里的ng是什么意思?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文