我目前在使用each
Backbone 集合的方法时遇到了非常不寻常的行为。在我的应用程序中,我允许用户编辑现有模型,其中包括对该模型进行编辑和添加一些时间限制。该模型及其时间约束与 Backbone Relational 相关联。每次用户单击以添加新的时间约束时,我都会在关系中添加一个 TimeConstraint 模型而不保存它。如果用户随后决定取消编辑,则应从关系中删除所有新的/未保存的 TimeConstraints。但是,当我遍历我的集合时,它似乎没有执行最终迭代。
我在这里构建了一个 jsfiddle 来演示这种行为:http: //jsfiddle.net/richardstokes/ZzFgZ/9/
要遵循的步骤是:
- 点击“编辑政策”
- 使用“新时间约束”按钮添加 2 个或更多新时间约束
- 通过单击“取消编辑”取消编辑
您会注意到控制台打印了 time_constraints 集合的起始长度和结束长度,以及删除未保存模型后的中间长度。即使它们都是新的/未保存的,它似乎总是停止并在集合中留下一件。
如果有人能帮助我解决这个问题,我将不胜感激,这让我整天都陷入困境。