javascript - 迭代绑定(bind)到键的数组(动态)

标签 javascript angular typescript ionic-framework ngfor

示例键绑定(bind)数组

this.obj = { 
  key1 : [...],
  key2 : [...],
  .
  .
  keyn : [...] 
}

我有这 2 个 *ngFor 循环,其中使用外部 *ngFor 中的键(上述键)来定义内部 *ngFor.

假设keyVar是我从外循环获得的变量。 我尝试通过以下方式实现,但没有成功。

*ngFor = "let item of obj.{{keyVar}}"
*ngFor = "let item of obj[keyVar]"

如何实现它才能完美工作?

P.S:我正在使用第二个 *ngFor 作为 ng-options。因此,分配一个单独的变量并从中调用是行不通的。

最佳答案

要从对象获取 key ,您可以使用以下函数:

getKeys(): string[] {
  return Object.keys(this.obj);
}

然后在你的组件中像这样使用它:

<div *ngFor="let key of getKeys()">
  {{key}}:
  <div *ngFor="let item of obj[key]">{{item}}</div>
</div>

这是working demo

关于javascript - 迭代绑定(bind)到键的数组(动态),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49594212/

相关文章:

javascript - 简单的 Angular 组件引发许多错误

angular - 您的全局 Angular CLI 版本 (6.1.2) 高于本地版本 (1.5.0)。使用本地 Angular CLI 版本?

javascript - 如何使用 jQuery 创建弹出效果

javascript - 此标签的正确选择器?

html - Angular 4 全图背景

Angular -cli : How to ignore class names from being minified

javascript - 将 UTC 时间转换为本地时间( Angular )

typescript - create-react-app 使用 TypeScript 编译器做什么?

javascript - 在 CSS 中设置 Canvas 'width/height' 会导致令人惊讶的行为

javascript - 我无法将对象中的所有项目写入 DIV