AngularJS: pattern e antipattern nella dependency injection

AngularJS: pattern e antipattern nella dependency injection

La dependency injection in AngularJS segue un pattern specifico. E per ogni pattern esiste anche un antipattern.

L'antipattern prevede una dependecy injection implicita:


var app = angular.module('app',[]);

app.controller('MainCtrl', function($scope, $timeout) {
    $timeout(function(){
        console.log($scope);
    }, 1000);
});

La dependecy injection implicita crea non solo problemi con la modalità strict di Angular ma genera anche confusione quando il codice viene compresso. Il pattern consigliato è invece il seguente:


var app = angular.module('app',[]);

app.controller('MainCtrl', ['$scope', '$timeout', function($scope, $timeout) {
    $timeout(function(){
        console.log($scope);
    }, 1000);
}]);

Torna su