我正在编写plnkr来测试一些路由问题,但是突然出现此错误消息,无论我在代码中进行了什么更改,都不会消失:
例外:错误:未捕获(承诺):无法解析EmployeeListComponent的所有参数:(?)。
这是代码的相关部分:
export class EmployeeListComponent {
employees: Employee[];
constructor(private _employeeService: EmployeeService) {
_employeeService.getAll().subscribe(employees =>
this.employees = employees);
}
}
看来Angular无法解决EmployeeService
,对吧?我在上面的代码段中将其注释掉,而且肯定没有错误。
我忘了在main.ts
或中注册app.component.ts
吗?不,
import {
Component
} from '@angular/core';
import {
ROUTER_DIRECTIVES
} from '@angular/router';
import {
EmployeeService
} from './employee.service';
@Component({
selector: 'plk-app',
template: '<router-outlet></router-outlet>',
directives: [
ROUTER_DIRECTIVES
],
providers: [
EmployeeService
]
})
export class AppComponent {
}
我应该在中注册main.ts
吗?好吧,当错误第一次出现时我遇到了,然后我将其移动app.component.ts
以检查是否可以解决该问题,但是没有。
目前,我看不到树木茂密的森林,Angular的错误消息并没有真正帮助(他们从来没有帮助过)。这里有人可以发现问题吗?可以在这里找到plnkr 。
在访问了几个问题之后,我知道由于缺少TypeScript编译器而发生了此问题。如果您没有使用Typescript编译器,则需要使用' Inject
'from' @angular/core
'显式注入服务。我已经在您提供的插件和其工作中尝试过它。
在您的情况下,您需要对进行更改employee-list.component.ts
。Inject
从@angular/core
构造器中导入并在构造器中显式注入服务,例如:
constructor(@Inject(EmployeeService) private employeeService: EmployeeService){}
如果您发现任何解决方案对您有帮助,请随时提出任何问题并接受我的回答。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句