来源: Angular 之 ngStrictDi_大V的博客-CSDN博客
ngStrictDi主要是讲angular依赖注入的写法问题,如果写法不规范,可能会在加载压缩版Angular的时候导致Unknown provider的错误。
-
var app = angular.module(‘ngAppStrictDemo’, []);
-
-
1. 不规范写法
-
-
app.controller(‘BadController’, function($scope) {
-
$scope.a = 1;
-
$scope.b = 2;
-
});
-
-
2.规范写法
-
-
//使用了详细的注释,数组形式注入
-
app.controller(‘GoodController1’, [‘$scope’, function($scope) {
-
$scope.a = 1;
-
$scope.b = 2;
-
}]);
-
-
//直接使用$inject服务,注入
-
app.controller(‘GoodController2’, GoodController2);
-
function GoodController2($scope) {
-
$scope.name = ‘World’;
-
}
-
GoodController2.$inject = [‘$scope’];
在1.6.x之后,依赖注入的书写越来越严格,这是为了避免压缩代码后产生的unknown provider问题。尤其是小编使用了webpack打包Angular项目之后,这个问题尤为突出。
如果依赖过多,显示或者解读代码不时,推荐大家使用规范写法的第二种。