javascript - 如何在ngFor中实现固定div列?

标签 javascript angular twitter-bootstrap ngfor

我想实现一个设计,其中有一个动态数据数组,并且我想将它们呈现在每行仅 3 个 Bootstrap 列中,如下所示:

<div class="row">

  <div class="col-md-4">
   <a>data</a>
   <a>data</a>
   <a>data</a>
  </div

 <div class="col-md-4">
   <a>data</a>
   <a>data</a>
   <a>data</a>
  </div

 <div class="col-md-4">
   <a>data</a>
   <a>data</a>
   <a>data</a>
  </div

</div>

输出应如下所示:

enter image description here

但是当我将 *ngFor 放在列 div 上时,如下所示:

<div class="row">
  <div class="col-md-4" *ngFor="let d of data">
   <a>{{d.name}}</a>
  </div>
</div

它不会给出与第一个静态方法相同的结果,是否有助于重现动态数据循环以给出相同的结果?

最佳答案

你可以这样做:

columns: string[][] = [];
ngOnInit() {
    const itemsInColumn = Math.floor(this.data.length()/3);
    columns[0] = data.slice(0, itemsInColumn);
    columns[1] = data.slice(itemsInColumn, itemsInColumn * 2);
    columns[2] = data.slice(itemsInColumn * 2);
}

在模板中:

<div class="row">
     <div class="col-md-4" *ngFor="let c of columns">
          <a *ngFor="let d of c">{{d}}</a>
     </div>
</div>

关于javascript - 如何在ngFor中实现固定div列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52369042/

相关文章:

javascript - 如何在 Angular 模板绑定(bind)中为更新的 Observable 值设置动画?

angular - 从 IpcMain 通信时没有 Angular 变化检测

javascript - Angular $http 中的重复参数

jquery - 如何设置 Bootstrap 选项卡的高度和边框?

javascript - 单击按钮后使用 React onChange 更改输入值

javascript - 没有模型的 Backbone.js datepicker 事件监听器

javascript - 如何在浏览器窗口中使用 vanilla JavaScript 模拟键盘按下?

javascript - 在性能明显下降之前,内存中的 JS 对象可以保存多少个 socket.io 对象?

angular - 无法读取 Typescript Angular 5 中未定义的属性某些值

html - Bootstrap 网格定位