我是angular的新手,我有一个愚蠢的问题,我如何显示*ngfor循环之外的实际项目数?
我使用这样的过滤和分页管道
*ngfor=“让item of items filterby:['name','category']:queryString paginate:config;let i=index;let c=count”
我知道有一个变量“count”,但当然它只在那个循环中可用,我如何在组件中获得这个变量,我需要创建新的组件,把它放在那个循环中,通过指令传递“count”还是有更简单、更干净的方法?
使用RxJS主题对我有效。
在该组件中,创建一个保存计数的变量,即filtercount
,并为类型number
创建一个RxJSsubject
。让订阅
取消订阅ondestroy
上的可观察
filterCount = 0;
filteredCountSubject = new Subject<number>();
subscription: Subscription;
订阅oninit
生命周期挂钩上的FilteredCountSubject
。
ngOnInit(): void {
this.subscription = this.filteredCountSubject.subscribe((count) => {
this.filterCount = count;
});
}
在模板中,可以使用FilterCount
在模板中的任何位置显示计数。使用
<div>{{filterCount}}</div>
并将FilteredCountSubject
作为参数发送到FilterBy
管道。
<div *ngFor="let item of items| filterBy: ['name','category']: queryString: filteredCountSubject | paginate: config; let i = index; let c = count"></div>
在FilterBy
管道的Transform
方法中,对筛选数组的计数执行FilteredCountSubject.Next
。即。
transform(items: Array<any>, filterConfig: FilterCofig): Array<any> {
// Arguments sent from HTML.
const args = arguments;
// CODE TO FILTER ITEMS BASED ON PARAMETERS.
// Get the "filterredCountSubj" from arguments.
// Remember that the argument index of "filteredCountSubject" is 3. As "items" is first argument.
const filterredCountSubj = args[3];
if (filterredCountSubj) {
filterredCountSubj.next(items.length);
}
return items;
}
希望能有所帮助。
我需要以这样的方式使用两个循环:外循环驱动内循环进行2、4、8、16和32次迭代的计算。 例如,如果i=2(对于外循环),则内循环将迭代4次 如果i=3,则内部循环将迭代8次,依此类推。 这就是我使用的逻辑 如果有任何建议,我将不胜感激
参考《项目建议书》、《需求说明书》、用户界面原型、以及各种标准和规范对数据库设计如下: (1). 结构设计: * 找实体: 实体是实体-关系模型的基本对象,是现实世界中各种事物的抽象。 凡是可以相互区 开并可以被识 的事、物、概念等对象均可认为是实体。 基本的实体列表如下: 会员 类别 商品 订单 订单详情 收货地址 商品评论 商品图片 友情链接 站内公告 ... * 找属性: 每个实体都有一组特
问题内容: 在下面的示例代码中,是否真的需要counter = 0,还是有更好,更多的Python方法来访问循环计数器?我看到了一些与循环计数器有关的PEP,但它们要么被延迟要么被拒绝(PEP 212 和PEP 281)。 这是我的问题的简化示例。在我的实际应用程序中,这是通过图形完成的,整个菜单必须每帧重新绘制一次。但这以易于复制的简单文本方式进行了演示。 也许我还应该补充一点,我正在使用Pyt
问题内容: 在遍历列表的Python循环中,我们可以编写: 并巧妙地遍历列表中的所有元素。有没有办法知道循环中到目前为止我循环了多少次?例如,我要列出一个清单,在处理完10个元素之后,我想对它们进行处理。 我考虑过的替代方案可能是: 要么: 是否有更好的方法(就像)来获得到目前为止的迭代次数? 问题答案: pythonic的方法是使用:
此方法重复读取命令并执行它们,直到游戏结束。完成的变量为true时,表示玩家/用户点击了退出并想要结束游戏——从而退出循环并执行到方法结束。 但我观察到循环有一种奇怪的行为。它循环得非常好(省略以下行时显示stopWatch.getTime()的连续计数: 但是当我把它们放回去时,它会停止显示秒表的连续递增时间,因为它会朝着时间限制增加(在这一点上,它应该停止)。即使玩家没有输入任何命令或输入。
下面程序计算字符串中字母‘a’出现的次数: apstring fruit = "banana"; int length = fruit.length(); int count = 0; int index = 0; while (index < length) { if (fruit[index] == ’a’) { count = count + 1; } index =