我有一个像这样的简单component
:
@Component({
selector: 'error-handler',
templateUrl: './error-handler.component.html',
styleUrls: ['./error-handler.component.css']
})
export class ErrorHandlerComponent {
constructor(public error?: any) { }
}
当我去浏览器时出现错误:
Uncaught Error: Can't resolve all parameters for ErrorHandlerComponent: (?).
我在模块中注册了我的新component
,因此我不知道为什么会出现此错误。我还没有从任何地方调用构造函数。
答案 0 :(得分:0)
组件(或指令,管道或服务)中的构造函数参数将尝试由依赖项注入器注入。将您的组件更改为:
@Component({
//...
})
export class ErrorHandlerComponent {
public error: any
constructor() {}
}
或使用 @Optional()
装饰器:
@Component({
//...
})
export class ErrorHandlerComponent {
public error: any
constructor(@Optional()public error?: any) {}
}
击> <击> 撞击>
当您的类型为any
时,可选不起作用