当前位置: 首页 > 工具软件 > ng-deerway > 使用案例 >

Angular 之 ngStrictDi

司空坚
2023-12-01

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项目之后,这个问题尤为突出。

如果依赖过多,显示或者解读代码不时,推荐大家使用规范写法的第二种。

 类似资料: