javascript - 生成器函数没有所需的功能(Angular 5)

标签 javascript angular typescript

这是我第一次使用生成器函数,如果我使用不正确,很抱歉..

好吧,基本上我有一个按钮可以对用户列表进行排序,有 3 个排序选项 - 按谁有空排序、谁不可用,然后按姓名排序。

现在我想循环浏览这些选项,这样每次您单击按钮时,它都会按下一个产量排序,依此类推。

所以我创建了一个像这样的函数..

*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>

现在它第一次工作,它将顺序更改为可用asc,但如果我再次单击按钮,它就不起作用;

我想要的结果是能够无限地按下按钮并循环浏览我的订单选项..我这样做对吗?

如有任何帮助,我们将不胜感激!

谢谢

最佳答案

每次调用 order() 时,都会从头开始启动生成器的新实例。您需要调用 order() 一次,将其保存在变量中,然后每次单击按钮时对该变量调用 .next()

关于javascript - 生成器函数没有所需的功能(Angular 5),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52731575/

相关文章:

html - 如何将 Material ui 选项卡移动到我的内容下方并将内容扩展到全高?

javascript - Webpack 包和 TypeScript 产生错误的全局变量格式

Angular2 模块 : best practices

javascript - 使用 Angular JS 让图像出现在弹出窗口中

javascript - Jekyll 站点 html 表单提交到不同的页面但重定向到另一个页面

javascript - Jquery bootstrap facebook 样式通知

angular - 如何在 Angular2 rc3 路由中处理来自 oauth 重定向 url 的哈希片段

javascript - 自动调整 span 的字体以适应 div

angular - 如何将新字体导入项目 - Angular 5

angular - 类型 'toDataURL' 上不存在属性 'HTMLElement'