Javascript 如何以角度访问对象数组中的数组?
我有一个包含员工的对象数组,如下所示:Javascript 如何以角度访问对象数组中的数组?,javascript,html,angular,syncfusion,Javascript,Html,Angular,Syncfusion,我有一个包含员工的对象数组,如下所示: [ { id: "1", name: "name", email: "email", languages: ['english', 'german', 'spanish'] }, { id: "2", name: "name", email: "email", languages: ['english', 'spanish']
[
{
id: "1",
name: "name",
email: "email",
languages: ['english', 'german', 'spanish']
},
{
id: "2",
name: "name",
email: "email",
languages: ['english', 'spanish']
},
]
这个数组是我的网格的数据源。在同一个网格的“语言”列中,我试图将这些语言列为chips元素。为了创建这些元素,我尝试使用ngFor,如下所示(我使用的是syncfusion):
但是,由于2个NGFOR,它可以多次显示这些语言。我能做些什么?解决此问题的更好方法是什么?您可以为所有员工删除一个ngFor,因为您已经可以从网格的数据源访问模板中的数据,并且可以访问以下员工语言
<e-column field="languages" headerText="Languanges" type="array">
<ng-template #template let-data>
<ejs-chiplist id="chip" *ngFor="let lang of data.languages">
<e-chips>
<e-chip text="{{lang}}" cssClass="e-primary"></e-chip>
</e-chips>
</ejs-chiplist>
</ng-template>
</e-column>
您还可以查看列模板上的Syncfusion文档:来自Syncfusion支持的问候 可以使用网格的列模板功能在网格列中绑定芯片列表组件。在下面的代码示例中,我们在ng模板指令中使用了ngFor,它是绑定芯片列表中文本值的循环基础。有关更多信息,请参考下面的代码示例和示例
[app.component.html]
我会将数组映射到一个新数组,该数组具有我正在寻找的方案,并循环该方案
<e-column field="languages" headerText="Languanges" type="array">
<ng-template #template let-data>
<ejs-chiplist id="chip" *ngFor="let lang of data.languages">
<e-chips>
<e-chip text="{{lang}}" cssClass="e-primary"></e-chip>
</e-chips>
</ejs-chiplist>
</ng-template>
</e-column>