angular - Angular 6 ngFor 在切片管道之前计数
问题描述
我有一个带有自定义管道和标准切片管道的 *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
优惠 ID = 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>
在“报价总数”中使用的管道中设置“计数”参数会更好吗?甚至可以将参数从管道发送到视图或组件吗?
编辑2:我找到了一个修复,不知道这是否是最好的方法,但这有效:
我在我的 ngFor 之外添加了一个 div 元素,id 为 offerCounter
在管道中我使用了这个:
document.getElementById('offerCounter').innerHTML = this.resultFromFilter.length.toString();
解决方案
推荐阅读
- c# - C# MVC 和 MS Graph 问题
- php - Wordpress - 我如何从我关注的用户那里获取帖子
- azure - 访问链接表 - 登录而不保存密码
- bash - bash -ex 输出中 + '[' ']' 的含义
- xaml - 如何设计一个简单的图形?
- android - AppCompactActivity中的setSupportActionBar无法应用android
- python - Python Spark 本地并行性
- javascript - 更多列上的 Where 子句
- c# - DbContext.Set
().SqlQuery 和 DbContext.Database.SqlQuery 返回不同的结果 - php - PHPflock():我可以在文件获取和文件放置内容周围使用它吗(读取-修改-写入)