【发布时间】:2018-01-17 09:22:26
【问题描述】:
我在 angular 4 项目中有一个使用材质 flex 的标记,看起来像这样。
<div fxLayout="row">
<div fxFlex="65">
</div>
<div fxFlex="35">
</div>
</div>
我有一个这样的元素数组:
public array: [object] = [
{
firstName: 'value',
lastName: 'value'
},
{
firstName: 'value',
lastName: 'value'
},
{
firstName: 'value',
lastName: 'value'
},
{
firstName: 'value',
lastName: 'value'
},
{
firstName: 'value',
lastName: 'value'
},
];
我想遍历这个数组并在 65% div 中填充所有元素的一半,在 35% div 中填充其余元素。如何正确使用*ngFor 指令?现在我有这样的解决方案。但它看起来很糟糕,不可读。
<div fxLayout="row">
<div fxFlex="65">
<div *ngFor="let item of array; let i = index">
<div *ngIf="i < 3">
<p>{{ item.firstName }}</p>
<p>{{ item.lastName }}</p>
</div>
</div>
</div>
<div fxFlex="35">
<div *ngFor="let item of array; let i = index">
<div *ngIf="i >= 3">
<p>{{ item.firstName }}</p>
<p>{{ item.lastName }}</p>
</div>
</div>
</div>
</div>
还有其他解决方案吗?
我也尝试使用<template> 元素。但我的尝试失败了。
请帮帮我!
【问题讨论】:
-
元素的数量是固定且已知的,还是布局应该适应任意数量的元素?
-
@ConnorsFan 现在,数组是固定的,有 14 项。但未来可能会更多。
标签: angular ngfor angular-flex-layout