首页 > 解决方案 > 在 ngFor 之后将多个项目组合在一起

问题描述

目前我有一个从数组中输出项目的 ng-template。我在尝试将key_idandkey_name组合在一起时遇到了麻烦

即 ( key_id = 1, key_name = hello1 ) , ( key_id = 2, key_name = hello2 )...现在当我通过updateDate输出传递值时应该是hello1:1, hello2:2

<ng-template ngFor let-key [ngForOf]="item['data']['keys']">

    <a class="text-success" title="Edit Menu" 
    (click)="updateData(item['data']['title'],
    item['data']['url'],key['tag_id'],key['key_name'],false)">

        <i class="text-success fa fa-edit toogleIcon"></i>

    </a>

</ng-template>

JSON

"data": [
{
"data": {
"id": "1",
"title": "Location",
"url": "location",
"keys": [
{
"key_id": "1",
"key_name": "DefaultLine"
},
{
"key_id": "4",
"key_name": "Mainline"
}

更新数据的 TS

private updateData(title: any, url: any, key_id: any, key_name: any, flag: boolean) {
  console.log('title=>', title);
  console.log('url=>', url);
  console.log('key_name=>', key_name);
  console.log('key_id=>', key_id);
  this.title = title;
  url === null ? this.url = "" : this.url = url;
  key_id === null ? this.key_id = "" : this.key_id = key_id;
  key_name === null ? this.key_name = "" : this.key_name = key_name;
}

标签: angular

解决方案


在元素中的updateData函数调用中a,第三个参数查找tag_id属性。根据我对您的 JSON 的了解,它应该正在寻找key_id参数。也许就是这样?


推荐阅读