각도 4/5를 사용 중이며 문자열 값을 기준으로 각도로 여러 테이블을 만들어야합니다. 다음은 테이블을 만들기 위해 만든 모델입니다.문자열 값을 기준으로 각도로 테이블을 만드는 방법은 무엇입니까?
class NameValuePair {
Name: string;
Value: string;
}
export class Family {
Properties: Array<NameValuePair>;
PropertyType: string;
}
아래 표에는 하드 코딩 된 값이 나와 있습니다.
export const list1: Family[] =
[
{
Properties: [
{
Name: "A",
Value: "1"
},
{
Name: "B",
Value: "2"
},
{
Name: "C",
Value: "3"
}
],
PropertyType: "Type 1"
},
{
Properties: [
{
Name: "A",
Value: "10"
},
{
Name: "B",
Value: "20"
},
{
Name: "C",
Value: "30"
}
],
PropertyType: "Type 1"
},
{
Properties: [
{
Name: "A",
Value: "100"
},
{
Name: "B",
Value: "200"
},
{
Name: "C",
Value: "300"
}
],
PropertyType: "Type 2"
}
]
여기서 중요한 점은 테이블이 PropertyType을 기반으로 만들어진다는 것입니다. 위 구조와 마찬가지로 배열의 처음 두 요소의 PropertyType은 동일합니다. 유형 1이므로 2 개의 테이블이 생성됩니다. 캡션/제목이있는 하나 : 유형 1 및 기타 캡션 : 유형 2 두 번째 배열 요소의 속성 [] 배열은 첫 번째 테이블의 두 번째 행이됩니다. 이 PropertyType 문자열 값을 기반으로 테이블을 만드는 방법에 대한 논리를 찾을 수 없습니다. 그러나, 그게 내가 component.html 파일에 쓴 것이지만이 논리는 올바르지 않습니다. 전술 한 바와 같이
<div class="container pt-4" *ngFor="let element of list;let i = index">
<ng-container *ngIf="list[i].PropertyType == list[i+1].PropertyType">
<div style="padding-left:250px;font-size: 20px" class="pb-2">{{element.PropertyType}}</div>
<table id="{{element.PropertyType}}" class="table table-striped table-bordered table-responsive pb-3 mx-auto">
<thead style="height:40px">
<tr align="center">
<th *ngFor="let property of element.Properties" style="font-size: 20px">{{property.Name}}</th>
</tr>
</thead>
<ng-container *ngFor="let element1 of list">
<tr align="center" *ngIf="element.PropertyType == element1.PropertyType">
<td *ngFor="let property of element1.Properties; let propertyIndex = index" style="width: 200px">
<ng-container [ngSwitch]="propertyIndex">
<div *ngSwitchDefault style="font-size: 20px">{{property.Value}}</div>
</ng-container>
</td>
</tr>
</ng-container>
</table>
</ng-container>
</div>
리스트 여기에 List1 CONST의 배열을 말한다. 도와주세요.