【问题标题】:Angular2 & Typescript - Property name does not exist on typeAngular2 & Typescript - 类型上不存在属性名称
【发布时间】:2017-10-21 02:28:36
【问题描述】:

使用 find 对this question 的建议答案在 Typescript 中不起作用,无法编译。我看过其他类似的问题,但在某些方面它们似乎都有些不同(上下文)。

这是数组:

categories: Category[] = [];

这是类别对象:

export class Category{
  constructor(
    id: string,
    name: string,
    category_types: Object[]
  ) {}
}

我试图找到这样的(值是一个字符串,例如'Wood'):

let a = this.categories.find(v => v.name === value);

它说“类别”类型上不存在属性名称。

【问题讨论】:

  • 你能分享你设置类别值的代码吗?

标签: javascript angular object typescript


【解决方案1】:

那是因为你的类Category 没有任何属性。你可以定义parameter properties直接从构造函数参数中创建属性:

export class Category{
  constructor(
    public id: string,
    public name: string,
    public category_types: Object[]
  ) {}
}

现在Category的所有参数也是它的公共属性。

【讨论】:

    猜你喜欢
    • 2019-08-18
    • 2021-10-10
    • 2019-12-10
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 2020-11-20
    • 1970-01-01
    相关资源
    最近更新 更多