javascript - 生成器函数没有所需的功能(Angular 5)
问题描述
这是我第一次使用生成器功能,如果我使用不正确,请见谅..
好的,所以基本上我有一个按钮,可以订购用户列表,有 3 个订购选项 - 按可用者、不可用者和名称排序。
现在我想循环浏览这些选项,因此每次单击按钮时,它都会按下一个排序yield
,依此类推。
所以我创建了一个这样的函数..
*order() {
yield this.crewMembers = _.orderBy(this.crewMembers, ['available'], ['asc']);
yield this.crewMembers = _.orderBy(this.crewMembers, ['available'], ['desc']);
yield this.crewMembers = _.orderBy(this.crewMembers, ['username'], ['desc']);
}
然后在我的html中
<button (click)="order().next()">ORDER</button>
现在它第一次工作,它将顺序更改为available
,asc
但如果我再次单击该按钮,它就不起作用;
我想要的结果是能够无限按下按钮并循环浏览我的订单选项。我这样做对吗?
任何帮助,将不胜感激!
谢谢
解决方案
每次调用 时order()
,都会从头开始生成生成器的新实例。您需要调用order()
一次,将其保存在变量中,然后.next()
每次单击按钮时调用该变量。
推荐阅读
- c# - 如何在 c# 和 jquery 中转义特殊字符?
- r - 在 R 中加入两个 ID 列缺失数据的数据集
- java - 如何在java中用星号绘制图中给出的图表
- c# - 如何在 c# 代码中使用 indexof 从 HTML 解析/获取参数及其值
- delphi - FireDAC TFDConnection SSL 挂起
- flutter - _InternalLinkedHashMap
' 不是连接到 API 时类型 'String' 的子类型 - python - Python Websockets - 课堂上的等待问题
- php - 如何从 php foreach 块中添加值
- python - 如何在python中使用for循环读取excel文件中的表格
- elasticsearch - NGINX:尝试访问 AWS Elasticsearch 域时出现 502 bad gateway 错误