切片管之前的角度6 ngFor计数

时间:2018-07-05 11:16:29

标签: angular

我有一个带有自定义管道和标准切片管道的* ngFor:

<div *ngFor="let offer of offerListData | slice:0:propertyLimit | offerFilter: countyId: cityId as filtered; let i = index; let propCount = count"><p>Offer id = {{offer.Id}}</p></div>

这很好用,但是有可能在切片管道启动之前获得offerListData的长度?

我希望得到的结果是:

要约数量= 4

优惠ID = 1

优惠ID = 2

优惠编号= 3

优惠ID = 4

我应该将计数器从管道传递到组件吗,如果是,怎么办?

编辑:

感谢@JB Nizet,我发现我的问题确实令人困惑,所以我尝试澄清我想要的内容

在我的* ngFor中,我有一个名为offerListData的自定义管道,在过滤县和市之后,在其中列出了我的要约

我只想显示要约的前5个,并有一个按钮来加载其余要约(我已经修复了此功能)

要管理我使用默认的切片管道

问题是我想显示自定义管道之后而不是切片管道之后得到的报价

如果使用此选项,我将获得自定义管道之前的报价总数: offerListData.length

如果我使用了filtered.length,那么在自定义管道和切片管道之后,我只会得到要约数量

我真正想要的是在自定义管道之后显示要约的总数。 首选是这样的:

<p>Total number of offers: 4</p>
<div *ngFor="let offer of offerListData | slice:0:propertyLimit | offerFilter: countyId: cityId as filtered;">
    <p>Offer id = {{offer.Id}}</p>
</div>

在“要约总数”中使用的管道中设置“ count”参数会更好吗?甚至可以将参数从管道发送到视图或组件吗?

编辑2: 我找到了解决方法,不知道这是否是最好的方法,但这可行:

我在ngFor外部添加了一个div元素,其ID为offerCounter

在管道中,我使用了这个

document.getElementById('offerCounter').innerHTML = this.resultFromFilter.length.toString();

0 个答案:

没有答案