【发布时间】:2021-10-16 00:05:28
【问题描述】:
我有一个获取数据列表的 observable。我被 angular 提供的slice 管道所欺骗,尽管它不是一个难点。下面是我的例子:
value$: Observable<number[]>;
// this is present in TS. Let's say this fetches an array with value as [1, 2, 3, 4, 5, 6, 7, 8, 9]
现在我想要将此数组划分为 3 个不同的 div,其中第一个将采用前 6 个元素,最后一个将采用最后 3 个元素,第二个将采用前 6 个和最后一个之间的元素3.为此我写了以下逻辑:
第 1 部分
<div *ngFor="let ele of value$ | async | slice: 0:6">...</div>
// This is working fine
第 2 部分
<div *ngFor="let ele of value$ | async | slice: -4:6">...</div>
// This is not working fine
第 3 部分
<div *ngFor="let ele of value$ | async | slice: -3">...</div>
// This is working fine
第二个div 没有按预期工作,而是从第一个div 中获取一些值。
谁能指出我在这里做错了什么?
【问题讨论】:
-
第二个将采用前 6 个和后 3 个之间存在的元素。前 6 个和后 3 个之间没有元素。有 9 个元素。
-
如果有我的逻辑是否正确?并且如果假设上述条件不满足,那么在 div 1 中显示前 6 个后,它会在 div 2 中显示其余部分,而 div 3 将为空白?
-
前六个之后和最后三个之前的元素将是
slice(6, -3)。不是slice(-4, 6)。 -
让我看看这个
标签: javascript html angular typescript rxjs