我不完全理解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
装饰器的原因,对于依赖注入,但就像我之前所说,我完全不了解。有人可以解释一下吗?
答案 0 :(得分:2)
如果服务没有构造函数参数,则不需要Injectable。它被认为无论如何都要将它添加到所有服务中,因为添加后来的参数是一个常见的错误,但@Injectable()
装饰器被遗忘,因为它之前正在工作。