【发布时间】:2018-11-17 01:36:05
【问题描述】:
运行 Angular 项目时出现错误
未捕获的错误:无法解析 HomeComponent 的所有参数:(?, ?, ?, ?)。
HomeComponent 调用了四个服务。所有服务均由Injectable 提供。当从构造函数中删除所有服务时运行正常,但添加这些服务会导致问题。
HomeComponent.ts
import { Component, OnInit } from '@angular/core';
import { PashminaModel } from '../../model/pashmina.model';
import { HomeService } from '../../services/home-service/home-service';
import { Category } from "../../enum/Enum";
import { FooterService } from "../../services/footer/footer.service";
import { NavbarService } from "../../services/navbar/navbar.service";
import { DataService } from '../../services/data-service/data.service';
@Component({
selector: 'app-home',
templateUrl: './home.component.html',
styleUrls: ['./home.component.scss']
})
constructor(
private homeService: HomeService,
private navService: NavbarService,
private footerService: FooterService,
private data: DataService
) {
}
------
-------
这就是我在app.module.ts 中实现提供程序部分的方式
providers: [
AuthorizationComponent,
NavbarService,
FooterService,
LoginServiceEndpoint,
LoginService,
PashminaServiceEndpoint,
PashminaService,
ImageServiceEndpoint,
ImageService,
DescriptionServiceEndpoint,
DescriptionService,
ColorServiceEndpoint,
ColorService,
HomeService,
HomeServiceEndpoint,
AccountService,
AccountServiceEndpoint,
OrderServiceEndpoint,
OrderService,
DataService
],
之前可以正常工作但是突然出现这个错误。
【问题讨论】:
-
你在 ctor 中注入的所有对象,在 app.module 的 providers 部分吗?
-
@Eris- 在提供者部分似乎很好。你能告诉我是什么原因造成的吗
-
您可以粘贴提供者部分吗?
-
@Eris - 我已经粘贴了一个供应商部分,请看一下
-
您在服务中使用服务吗?会不会是您的一项服务缺少
@Injectable()装饰器?
标签: angular typescript