在阅读Angular Injectable services时,我发现了这句话:
不要忘记括号。省略它们会导致难以诊断的错误。
import { Injectable } from '@angular/core';
@Injectable()
export class HeroService {
}
足够的问题。
更新:
作为表达式调用时,无法解析类装饰器的签名。提供的参数与呼叫目标的任何签名都不匹配。
即使这是我得到的错误,但这真的是所谓的"困难"错误诊断?
答案 0 :(得分:4)
取自:https://github.com/Microsoft/TypeScript/issues/13173,指的是组件声明后括号的必要性。我想这适用于Injectable装饰器。
示例中的Component函数根本不是装饰器 装饰工厂。也就是说它只是你的一个功能 调用,也许传递一个参数,它返回装饰器 通过@语法应用于目标。