angular - 在类构造函数中注入服务的长形式
问题描述
constructor(private myService: MyService) {
}
在类构造函数中注入服务的长形式是什么?我想把上面的东西改成这样的:
private myService;
constructor() {
this.myService = new MyService();
}
但现在它尖叫 MyService 需要两个参数(长格式)
为什么简短的形式在没有明确给出参数的情况下工作?
解决方案
两种方式都是一样的,只是您将分配部分委托给系统,并且您可以根据需要使用它。
假设您的服务具有依赖关系,那么您将需要,
const dep1 = new Dep1();
const subDep = new SubDep();
const dep2 = new Dep2(subDep);
this.myService = new MyService(dep1, dep2)
使用第一种方法总是更好,因为系统会自动完成
推荐阅读
- airflow - on_failure_callback 在气流 DAG() 中不起作用
- python - 检查体积 (.ply) 是否包含 3D 点
- python - 在线性和非线性值之间进行插值
- python - PIP 下载包很慢
- macos - macOS 上的 wget 如何处理证书?
- json - Jira 添加内部注释 JSON 语法
- javascript - 将 JavaScript 数组转换为 JSON 对象
- python - 结合PDF的文件名
- python - 如何分配一个二维布尔数组(google、or-tools、Scheduling)
- javascript - React - 状态中的数组已定义,但 Array[index] 未定义