首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将使用ngfor打印的数据拆分为3列(角)?

如何将使用ngfor打印的数据拆分为3列(角)?
EN

Stack Overflow用户
提问于 2019-01-07 09:03:20
回答 4查看 3.4K关注 0票数 3

数据

代码语言:javascript
复制
const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30];

我希望将这些数据拆分为3列,并按如下方式应用:

代码语言:javascript
复制
<ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
    ...
    <li>10</li>
</ul>
<ul>
    <li>11</li>
    <li>12</li>
    <li>13</li>
    ...
    <li>20</li>
</ul>
<ul>
    <li>21</li>
    <li>22</li>
    <li>23</li>
    ...
    <li>30</li>
</ul>

当使用ngfor时,如何分割数据?

代码语言:javascript
复制
<ul *ngFor="let item of arr">
    <li>{{item}}</li>
</ul>
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-01-07 09:09:19

首先,应该是这样的:

代码语言:javascript
复制
<ul>
    <li *ngFor="let item of arr">{{item}}</li>
</ul>

并将其添加到CSS中:

代码语言:javascript
复制
ul{
    -webkit-columns: 3;
    -moz-columns: 3;
    columns: 3;
}
票数 13
EN

Stack Overflow用户

发布于 2019-01-07 09:12:40

您可以使用切片

代码语言:javascript
复制
<ul>
  <li *ngFor="let item of arr.slice(0,10)">{{item}}</li>
</ul>

<ul>
  <li *ngFor="let item of arr.slice(10,20)">{{item}}</li>
</ul>

<ul>
 <li *ngFor="let item of arr.slice(20,30)>{{item}}</li>
</ul>
票数 3
EN

Stack Overflow用户

发布于 2019-01-07 09:23:30

代码语言:javascript
复制
function chunkArray(myArray, chunk_size){
    var results = [];

    while (myArray.length) {
        results.push(myArray.splice(0, chunk_size));
    }    
    return results;
}

var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30];

// Split in group of 3 items
arr = chunkArray(arr, 3);

在HTML中添加嵌套*ngFor

代码语言:javascript
复制
<ul *ngFor="let chunckedArr of arr">
    <li *ngFor="let item of chunckedArr">{{item}}</li>
</ul>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54071253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档