Angular 8: * ng для перебора объекта, который имеет значение в виде массива - PullRequest
0 голосов
/ 19 апреля 2020

component.ts

this.types = [ 
{ "parent_id": 1, "cat_name": "Type", "category_id": 2, "key_name": "type" }, 
{ "parent_id": 1, "cat_name": "Metal", "category_id": 14, "key_name": "metal" }, 
{ "parent_id": 1, "cat_name": "Gems", "category_id": 15, "key_name": "gems" } 
]

// it has dynamic key and it's value based on dropdown selection
    this.dynamicCategoryData = { 
         "type": [1, 2, 3, 4, 5],
         "material": [11, 22, 33, 44] 
    }

HTML:

<div class="col-md-6" *ngFor="let type of types">
                            <div class="form-group">
                                <label>Select {{ type.cat_name }}</label>
                                <select class="form-control custom-select" 
                                    (change)="onChangeType($event.target.value)"
                                    [value]="type.key_name" >
                                    <option value="">-- Select --</option>
                                    <ng-container *ngFor="let subType of dynamicCategoryData | keyvalue">
                                        <option *ngIf="subType.key == type.key_name"  [ngValue]="subType.value" >{{subType.value}}</option>
                                    </ng-container>
                                </select>
                            </div>
                        </div>

Я хочу перебрать переменную this.dynamicCategoryData и проверить, есть ли у нее ключ, который перебирает ее над Затем в раскрывающемся списке отображается переменная type.

В настоящее время я могу отображать значения, но это весь массив, т.е. [1,2,3,4,5], но я хочу показать 1 как первое значение 2 как второе значение как мы делаем все время.

Заранее спасибо.

...