在使用Angular 8和Typescript版本3.4.5时遇到此错误 尝试在Angular中创建一个界面类,如下所示:
export interface Test {
id: string;
created-date: number;
import-by: string;
}
错误: 创建日期:数字; 错误TS1128:需要声明或声明。 创建日期:数字; 错误TS1005:';'预期。 import-by:字符串; 错误TS1128:需要声明或声明。 import-by:字符串; 错误TS1005:';'预期的。
当来自Java后端的json响应提供带有破折号而不是驼峰式大小写的jsonProperty时,如何处理
答案 0 :(得分:3)
如果您的属性标识符包含-
,则需要将属性名称加引号(''
或""
):
export interface Test {
id: string;
'created-date': number;
'import-by': string;
}
答案 1 :(得分:1)
(这个答案与上面的问题无关,但这可能会有所帮助,因为解释可能与下面的问题相关)
可能有用的一件事是,如果类本身后面已经有一个感叹号,则不能在属性上添加感叹号。 !意味着它不能为空或未定义。还在学习TS,解释很模糊。
Wrong:
export class Hello {
info!: {
num!: number; // Will complain about 'Property or signature expected.'
}
}
Right: (Take out the ! mark in the 'num' property)
export class Hello {
info!: {
num: number;
}
}