Я использую Angular 2 +
в .ts, есть объект JSon, возвращаемый из вызова API с именем optionList []
Структура этого объекта выглядит следующим образом:
optionList=
{
property-A: '', property-B: '',property-C: '',property-D:'',property-E: 'type1'
},
{
property-A: '', property-B: '',property-C: '',property-D: '',property-E: 'type2'
},
{
property-A: '', property-B: '',property-C: '',property-D: '',property-E: 'type1'
},
{
property-A: '', property-B: '',property-C: '',property-D: '',property-E: 'type1'
},
{
property-A: '', property-B: '',property-C: '',property-D: '',property-E: 'type3'
},
{
property-A: '', property-B: '',property-C: '',property-D: '',property-E: 'type4'
},
{
property-A: '', property-B: '',property-C: '',property-D: '',property-E: 'type3'
},
{
property-A: '', property-B: '',property-C: '',property-D: '',property-E: 'type4'
},
{
property-A: '', property-B: '',property-C: '',property-D: '',property-E: 'type4'
},
{
property-A: '', property-B: '',property-C: '',property-D: '',property-E: 'type5'
},
В .html я хочу отобразить как показано ниже:
type1
здесь показывать, что все объекты имеют одинаковое значение (type1) свойства-E
type2
здесь отображаются все объекты, имеющие одинаковое значение (type2) свойства-E
type3
здесь отображаются все объекты, имеющие одинаковыйзначение (тип 3) свойства-E
..........
я использовал * ngFor для циклического просмотра уникального значения свойства-E, как показано ниже:
//unique-property-E-arr is an array contains all the unique value of property-E
<ng-container *ngFor="let property-E of unique-property-E-arr">
{{property-E}}
<ng-container *ngFor="let option of optionList">
<div *ngIf="option.property-E === property-E">
<!--display each object here -->
</div>
</ng-container>
</ng-container>
Это работает, но будет перебирать все опции, чтобы получить опцию с тем же значением свойства-E.Например, если optionList.length равен 100, цикл выполняется 100 раз (уникальное значение свойства-E), что замедляет мое приложение.Нужно ли перенести эту логику на тс и как.Как лучше всего использовать стандартное приложение Angular для решения этой проблемы, оставить всю логику в шаблоне или перейти на .ts?