ngFor嵌套对象列表

时间:2018-06-09 08:42:49

标签: javascript angular5 ngfor

我有一个嵌套对象列表,并使用ngFor进行迭代。但是当我想要达到一些子对象的属性时,我必须从根对象中编写所有属性的链。我正在尝试定义其他变量并为其分配子对象。基本上我想做的就是下面的东西,但是它给出了错误,我相信这是不正确的语法

<div *ngFor="let obj of objs; let child = obj.childObject">
    <span>{{ child.name }}</span>
<div/>

如何实现这一目标?

3 个答案:

答案 0 :(得分:0)

为什么不遍历 class EnvironmentCreateForm(forms.ModelForm): name =forms.CharField(max_length=50, required=True, label='Product Name') items =forms.IntegerField(min_value =0, max_value = 100,required=False, label='Number of Items') class Meta: model = Environment fields = ['name',] def save(self): if Environment.is_valid(): Environment.save() if self.items >= 0: for i in range(self.items): Item.objects.create(Environment, uid =str(uuid.uuid4()) )

中的对象链
span

阅读评论后编辑。以上内容用于显示特定的<span *ngFor="let obj of objs">{{ obj.childObject.name }}</span> 属性。

如果目标是打印所有childobject的属性,请在组件的类中定义childobject变量:

objectKeys

然后在组件的html中提供要将key作为参数迭代到export class MyComponent { objectKeys = Object.keys; ... } 的集合:

objectKeys

答案 1 :(得分:0)

试试这个

<div *ngFor="let obj of objs">
    <span *ngFor="let key of objectKeys(obj.childobject)">{{key + ' : ' + obj.childobject[key]}}</span>
<div/>

答案 2 :(得分:0)

检查我的例子,这是工作

 <div *ngFor="let catergory of Catergories;">
      <span>{{ catergory.name }}</span>
      <div *ngFor="let product of catergory.products;>
        <span>{{ product.name }}</span>
      </div>
 <div/>