【问题标题】:How to get object sub values in angular 6如何在角度 6 中获取对象子值
【发布时间】:2019-09-12 19:03:04
【问题描述】:

我正在尝试获取对象子值但不工作。我不知道我的代码哪里出错了。任何人都可以找到解决方案吗?我正在尝试显示来自对象的 li 值。

test.json:

"main":[{

"power":"coming",
"cell":"2min",
"li":[
 {
"text":"Lorem ipsom"
 },
 {
"text":"Ipsom klgtoy"
 },
 {
"text":"Klopi"
},
{
"text":"Mkhoi ipsom"
}
]
}];

app.component.html

<div *ngFor="val of main let i=index">

<ul>

<li>{{ val.li.text  }}</li>

</ul>

</div>

【问题讨论】:

  • "power":"coming:,更改为"power":"coming"
  • @IanPreglo:抱歉..已编辑但无法正常工作
  • 你还有这个"power":"coming":,...确保它是这个"power":"coming",

标签: typescript angular6 angular5 angular7


【解决方案1】:

首先我不知道 test.json 文件是什么 你必须在 .ts 或 .js 文件中编写你的 js 声明数组和对象的正确方法是:

 var main=[{
     power:"coming":,
     cell:"2min",
     li:[{
        text:"Lorem ipsom"
         },
         {
         text:"Ipsom klgtoy"
         },
         {
         text:"Klopi"
         },
         {
         text:"Mkhoi ipsom"
         }
      ]
}]

你也没有关闭 li 数组

为了获取每个文本,您必须经过 2 个循环,首先获取主数组的每个对象,第二个循环获取 li 数组的每个对象


<div>

<ul *ngFor="val of main let i=index">

<li *ngFor="eachText of val.li let i=index">{{ eachText  }}</li>

</ul>

</div>

【讨论】:

  • 还有其他方法吗?
  • 其他获取价值的方法?不幸的是,不,你可以说&lt;li *ngFor="eachText of main[0].li let i=index"&gt;{{ eachText }}&lt;/li&gt; 并删除第一个循环,但它只获取数组的第一个对象,如果你向主数组添加另一个对象,它将不会显示
  • 数组和文件呢? ddi 如果您将代码上传到 stackblitz 上,您也会修复它们,或者...我可以更好地帮助您
  • GettingError: 无法绑定“ngFor”,因为它不是“li”的已知属性
  • 使用这个
猜你喜欢
相关资源
最近更新 更多
热门标签