服务(service)
服务都是“单例”的,并可以延迟初始化。
- 常量(constant): 用于声明不会修改的值
- 变量(value): 用于声明会被修改的值
- service: 注册一个支持构造函数的服务
- factory: 注册一个对象型的服务,是创建和配置服务最快捷的方式
- provider: 上述所有服务工厂都是由$provider服务创建的
服务指令对比表
类型 | Factory | Service | Value | Constant | Provider |
---|---|---|---|---|---|
可以依赖其他服务 | 是 | 是 | 否 | 否 | 是 |
在config阶段可用 | 否 | 否 | 否 | 是 | 是 |
可用于创建函数/原生对象 | 是 | 否 | 是 | 是 | 是 |
*由于Service是new出来的,所以其结果必然是类实例,也就无法直接返回一个可供调用的函数或者数字等原生对象。