属性在角对象的类型对象上不存在

时间:2019-02-26 06:46:49

标签: angular typescript

我在运行时有一个对象,因为在类型对象上不存在属性,所以有人遇到以下错误。任何人都可以告诉我我在做什么错了。

let filter = {
      project: 'Test',
      flow: 'basic',
      start: 0,
      length: 3
    };

错误:

    src/app/_services/flow.service.ts(14,39): error TS2339: Property 'project' does not exist on type 'object'.
src/app/_services/flow.service.ts(14,62): error TS2339: Property 'flow' does not exist on type 'object'.
src/app/_services/flow.service.ts(14,83): error TS2339: Property 'start' does not exist on type 'object'.
src/app/_services/flow.service.ts(14,106): error TS2339: Property 'length' does not exist on type 'object'.

4 个答案:

答案 0 :(得分:4)

您也可能将filter键入为object []。并且属性project在对象上不存在。如果您不关心输入,可以将filter声明为Array<any>:

let filter: Array<any>;

答案 1 :(得分:3)

这样做,问题就消失了,

private filter: any[];

答案 2 :(得分:1)

问题可能出在您的flow.service.ts字段中,您在其中将其设置为键入object,而过滤器中的所有字段都不存在于类型object上。在您的flow.service.ts中,将字段类型更改为任意。

filter: any;

答案 3 :(得分:-1)

使用名称过滤器初始化对象,例如:

filter = [];