【问题标题】:Iterate through arrays binded to keys (dynamic)遍历绑定到键的数组(动态)
【发布时间】:2018-04-01 02:20:51
【问题描述】:

示例键绑定数组

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。因此,分配一个单独的变量并从中调用是行不通的。

【问题讨论】:

  • 无意粗鲁,但我建议您避免将您的问题标记为“紧急”:[1][2][3][4]

标签: javascript angular typescript ionic-framework ngfor


【解决方案1】:

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

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

【讨论】:

  • 谢谢!像魅力一样工作。我尝试在 ngFor 中使用一个函数,但不记得为什么它失败了。
  • @AkashChintha 不客气!我很高兴能提供帮助。函数可能会失败,因为 分配给*ngFor 的字符串不是模板表达式。它是一种微语法——Angular 自己解释的一种小语言。而且我猜它只能解释一些基本的结构
猜你喜欢
  • 1970-01-01
  • 2019-07-06
  • 2011-02-25
  • 1970-01-01
  • 1970-01-01
  • 2019-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多