首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我真的需要写“ngInject”吗?

"ngInject"是AngularJS框架中的一个注解,用于在AngularJS的依赖注入中标识需要被注入的依赖项。在AngularJS 1.6版本之前,当使用ES6的类语法定义控制器或服务时,需要使用"ngInject"注解来告诉AngularJS注入依赖项。

然而,在AngularJS 1.6版本及以后的版本中,可以使用更现代化的方式来进行依赖注入,而不再需要使用"ngInject"注解。新的依赖注入方式可以通过使用ES6的装饰器语法或通过使用$inject属性来实现。

使用装饰器语法时,可以在类的构造函数前添加"@Inject"装饰器,并在构造函数的参数中列出需要注入的依赖项。例如:

代码语言:txt
复制
class MyController {
  constructor($scope, $http) {
    'ngInject';
    // 控制器的代码
  }
}

MyController.$inject = ['$scope', '$http'];

使用$inject属性时,可以在类的构造函数后通过静态属性$inject来指定需要注入的依赖项。例如:

代码语言:txt
复制
class MyController {
  constructor($scope, $http) {
    // 控制器的代码
  }
}

MyController.$inject = ['$scope', '$http'];

这样,AngularJS会根据指定的依赖项进行注入,无需再使用"ngInject"注解。

总结起来,如果你使用的是AngularJS 1.6版本及以后的版本,并且采用了ES6的类语法来定义控制器或服务,那么你不再需要使用"ngInject"注解。相反,你可以使用装饰器语法或$inject属性来指定需要注入的依赖项。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券