angular - 为什么 Typescript 要求分配 Getter?
问题描述
打字稿提示:'缺少类型测试中的以下属性:testGetter'。
export interface ITest {
id?: string | number;
property: string;
}
export class Test implements ITest {
id?: string | number;
property: string;
constructor(test?: Test) {
Object.assign(this, test);
}
get testGetter() {
return 1;
}
}
解决方案
您的界面将属性声明为字符串。但是,您不会在类中对其进行初始化,因此它的真实类型是string|undefined
可能是你拼错了界面?
初始化它,代码应该可以工作
export interface ITest {
id?: string | number;
property: string;
}
export class Test implements ITest {
id?: string | number;
property: string = '';
constructor(test?: ITest) {
Object.assign(this, test);
}
get testGetter() {
return 1;
}
}
new Test(new Test()) //compiles
new Test({ id: '1', property: '2' }) //compiles
推荐阅读
- java - JSP、HTML 和 Servlet
- r - mutate 和 d recode 的语法
- java - okta oauth2 Spring security 所有受保护的页面重定向到登录
- azure - Azure 机器学习实验无法将 Blob 存储装载到计算群集
- typescript - 类在 typecirpt 中实现接口
- c# - .NET CORE Worker Service 不会读取控制器
- c# - 如何在产品 ASP.NET 上应用正确的折扣
- python - 在决策二元变量中打印结果
- c - 为什么不需要分配内存空间来存储函数返回的指针?
- r - 为什么 `fable::TSLM()` 的预测值略低于 `stats::lm()`?