@injectable和es6模块的角度服务
问题描述:
在angular中,我们需要创建@Injactable服务类并将其提供给我们的项目。@injectable和es6模块的角度服务
从理论上讲,我们可以导入es6模块,也可以作为单例服务执行。
除了这不是“角度方式”,为什么这种方法不那么普遍?
角方式
import { Injectable } from '@angular/core';
@Injectable()
export class fo {
getFo():{
}
}
ES6方式
const bla = []
const fo() => {return bla}
export {
fo
}
答
不久,我们使用
@Injectable()
只需要当您的服务注入等服务。
例子:
比@Injectable()
export class fo {
constructor(private myOtherService: MyOtherService){}
}
其他你是正确的,它实际上返回一个const
同样的事情。但是,如果您想知道添加注释和逻辑是一种好的做法。
来源:https://angular.io/docs/ts/latest/cookbook/dependency-injection.html#!#-injectable-
技术上,@Injectable()装饰只需要拥有自己的依赖
不久,我们使用
@Injectables
获取/设置服务类数据和组件之间以及我们的应用程序之间的通信,这些都是我们依赖注入树的一部分。 关于为什么您应该使用
@Injectable()
,官方文档有更深入的指南。
为什么@Injectable()?
@Injectable()
标志着一个类可用于喷油器实例化。一般来说,试图实例化未标记为@Injectable()
的类时,注入器会报告错误。
来源:https://angular.io/docs/ts/latest/guide/dependency-injection.html#!#why--injectable--
你的两个例子没有任何共同之处。 – zeroflagL