Angular - 对于具有数组属性的对象的集合

时间:2018-01-19 12:24:06

标签: javascript angular typescript angular5

我有一个这样的课程:

*ngFor

您可以在此处看到数组属性 - ngFor="let column of tableColumns" 。我的问题是当我使用tableColumns指令迭代这个类的实例数组时:

columnData

该指令不仅通过columnData的内容迭代,而且通过每个实例中的mWebview.getSettings().setCacheMode( WebSettings.LOAD_CACHE_ELSE_NETWORK) 属性的内容进行迭代。

我想知道如何不迭代属性mWebview.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ONLY); 的内容。

1 个答案:

答案 0 :(得分:1)

你说你有一个TableColumn个对象的数组,你想要遍历这些对象,然后在每个对象内部循环遍历columnData数组?

首先,您知道,您可以像这样编写类对象以简化操作。它编译为完全相同的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>