2017-06-12 31 views
1

対暗黙だから私は私の基本を表示するには、このウェブサイトを使用していた:https://www.codeproject.com/Articles/1130132/Learn-AngularJS-for-BeginnersAngularJS依存性注入 - アレイ注釈

と私は例に比べてそのせいで、たとえば使用されるコントローラをオフにスローされたスコープの継承]セクションにコントローラーの紹介に使用されるコントローラー。差であるもの

:最初の1つに記載の

app.controller("PersonController", function($scope) { 
    $scope.employeeData = personData; 
    $scope.employeeMethod = function() { 
     console.log("Hello, I am an Employee"); 
    } 
}); 

app.controller("MainController", ['$scope', function($scope){ 
    $scope.name = "Donald"; 
    $scope.color = "White"; 
}]); 

は、第二は、その後、ブラケット名で、その名前の関数です。

+0

違いは縮小です。これをチェックしてくださいhttps://scotch.io/tutorials/declaring-angularjs-modules-for-minification – scniro

+0

ソースからは、「依存関係を挿入するこの方法は「依存性注入」と呼ばれ、@scniroとは何ですか – Haris

+1

[AngularJS開発者ガイド - 依存性注入](https://docs.angularjs.org/guide/di) – georgeawg

答えて

0

AngularJSは、インジェクタを介して特定の機能(サービスファクトリやコントローラなど)を呼び出します。これらの関数に注釈を付けて、インジェクタが関数に注入するサービスを認識できるようにする必要があります。

  • $injectプロパティ注釈機能パラメータ名から暗黙的に
  • (持っている点に注意)
  • を使用する(推奨)インライン配列アノテーションを使用して

    • :サービス名情報を使用してコードに注釈を付けるの3つの方法があります。詳細については

    hereからAngularJS Developer Guide - Dependency Injection

    0

    を見ます10暗黙の注釈は、サービス

    someModule.controller('MyController', function($scope, greeter) { 
        // ... 
    }); 
    

    $scopegreeterの名前である関数のparamsを想定して上記サービスの名称です。

    したがって、両方のDI技法は、関数パラメータは変更できますがインライン配列は変更できないため、一部のJavaScriptミニファイア/難読化ツールが使用される場合を除いて、同じ方法で動作します。