搜尋

首頁  >  問答  >  主體

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>
<p ng-controller="c4_6">
    <!--视图组件-->
</p>
</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是什麼意思啊?

PHP中文网PHP中文网2744 天前522

全部回覆(1)我來回復

  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-15 17:07:17

    指核心的‘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則不會做任何的假設。

    回覆
    0
  • 取消回覆