Angular 2 - Injectable()装饰器

时间:2017-01-23 10:37:33

标签: angular dependency-injection angular2-services

我不完全理解Angular 2中的@Injectable装饰器。即使我不使用它,服务仍然有效。 (请看下面的例子)

使用@Injectable装饰器的目的是什么?

下面是两个示例,一个带有Injectable,另一个带有相应的plunker示例:

使用@Injectable Example1`

@Injectable()
export class AppService{
  get():any[]{
    return "something"
}

没有@Injectable Example2

export class AppService{
  get():any[]{
    return "something"
}

当然我知道使用@Injectable装饰器的原因,对于依赖注入,但就像我之前所说,我完全不了解。有人可以解释一下吗?

1 个答案:

答案 0 :(得分:2)

如果服务没有构造函数参数,则不需要Injectable。它被认为无论如何都要将它添加到所有服务中,因为添加后来的参数是一个常见的错误,但@Injectable()装饰器被遗忘,因为它之前正在工作。