我需要遍历一组子视图(它们是 UI 小部件)并告诉他们将自己从应用程序中删除。我已确保集合中存在所有 childViews,但是此代码一次只会在一些 childViews/widgets 上调用 removeIfSelected():
widgets = container.get('childViews')
widget.removeIfSelected() for widget in widgets
例如,如果有 3 个小部件,则第一次运行时(通过删除按钮)会删除 2 个小部件。我必须再次单击该按钮才能删除最后一个小部件。
如果有 2 个,它将删除一个小部件。如果有 4 个或更多,除了 2 个小部件之外的所有小部件都将被删除,我必须再单击 2 次才能删除最后两个小部件。
我最初的解决方案是运行循环 3 次,以确保删除所有小部件,但这没有通过代码审查,我必须找到一个真正的解决方案。我不确定这是咖啡脚本问题还是 Ember.js 问题。如何确保循环完全执行?