Angular - ngFor 过度收集具有数组 属性 的对象
Angular - ngFor over collection of objects that have an array property
我有一个 class 这样的:
export class TableColumn {
columnName: string;
isToFilter: boolean;
isToSort: boolean;
isLink: boolean;
linkUrl: string;
columnData: any[];
constructor(
columnName: string,
isToFilter: boolean,
isToSort: boolean,
isLink: boolean,
linkUrl: string,
columnData: any[]) {
this.columnName = columnName;
this.isToFilter = isToFilter;
this.isToSort = isToSort;
this.isLink = isLink;
this.linkUrl = linkUrl;
this.columnData = columnData;
}
}
你可以看到这里有一个数组 属性 - columnData
。我的问题是当我使用 *ngFor
指令遍历此 class 的实例数组时,如下所示:
ngFor="let column of tableColumns"
指令不仅遍历 tableColumns
的内容,而且在每个实例中还遍历 columnData
属性 的内容。
我想知道如何不遍历 属性 columnData
的内容。
你是说你有一个 TableColumn
对象的数组,你想遍历这些对象,然后在每个对象中也循环遍历 columnData
数组?
首先,请注意,您可以像这样编写 class 对象以简化操作。它编译成完全相同的 JavaScript。 Look at this page to see what I mean.
export class TableColumn {
constructor(
public columnName: string,
public isToFilter: boolean,
public isToSort: boolean,
public isLink: boolean,
public linkUrl: string,
public columnData: any[]
) { }
}
在我们的控制器中使用这样的示例数据:
public tableColumnList = [
new TableColumn('one', true, true, true, 'google.com', [1,2,3]),
new TableColumn('two', true, true, true, 'google.com', [4,5,6, 7, 8]),
new TableColumn('three', true, true, true, 'google.com', [9, 10, 11])
];
您可以像这样使用嵌套的 *ngFor
指令。
<div *ngFor="let tc of tableColumnList">
<h4>{{tc.name}}</h4>
<ul>
<li *ngFor="let data of tc.columnData">
{{data}}
</li>
</ul>
</div>
我有一个 class 这样的:
export class TableColumn {
columnName: string;
isToFilter: boolean;
isToSort: boolean;
isLink: boolean;
linkUrl: string;
columnData: any[];
constructor(
columnName: string,
isToFilter: boolean,
isToSort: boolean,
isLink: boolean,
linkUrl: string,
columnData: any[]) {
this.columnName = columnName;
this.isToFilter = isToFilter;
this.isToSort = isToSort;
this.isLink = isLink;
this.linkUrl = linkUrl;
this.columnData = columnData;
}
}
你可以看到这里有一个数组 属性 - columnData
。我的问题是当我使用 *ngFor
指令遍历此 class 的实例数组时,如下所示:
ngFor="let column of tableColumns"
指令不仅遍历 tableColumns
的内容,而且在每个实例中还遍历 columnData
属性 的内容。
我想知道如何不遍历 属性 columnData
的内容。
你是说你有一个 TableColumn
对象的数组,你想遍历这些对象,然后在每个对象中也循环遍历 columnData
数组?
首先,请注意,您可以像这样编写 class 对象以简化操作。它编译成完全相同的 JavaScript。 Look at this page to see what I mean.
export class TableColumn {
constructor(
public columnName: string,
public isToFilter: boolean,
public isToSort: boolean,
public isLink: boolean,
public linkUrl: string,
public columnData: any[]
) { }
}
在我们的控制器中使用这样的示例数据:
public tableColumnList = [
new TableColumn('one', true, true, true, 'google.com', [1,2,3]),
new TableColumn('two', true, true, true, 'google.com', [4,5,6, 7, 8]),
new TableColumn('three', true, true, true, 'google.com', [9, 10, 11])
];
您可以像这样使用嵌套的 *ngFor
指令。
<div *ngFor="let tc of tableColumnList">
<h4>{{tc.name}}</h4>
<ul>
<li *ngFor="let data of tc.columnData">
{{data}}
</li>
</ul>
</div>