错误TS1131:应该是属性或签名,错误TS1005:';'预期

时间:2019-07-30 13:12:20

标签: angular typescript

在使用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时,如何处理

2 个答案:

答案 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;
    }
}