假设我有Backbone.Collection三个型号.我想替换中间的一个,将第一个和第三个模型保持在当前位置.(假设没有comparator.)我该怎么做?
dca*_*son 18
这是一个很好的问题,今天仍然有用,所以值得回答.
当您提出问题时,我的答案中使用的功能可能不存在,但现在执行此操作非常简单.
无论如何,我们假设您的收藏已命名,myCollection并且已经存储了3个模型.让我们假设您有一个新模型newModel,您希望用它来替换集合中现有的中间模型.要替换中间模型,保持第一个和第三个模型不变,您可以这样做:
myCollection.remove(myCollection.at(1));
myCollection.add(newModel, {at: 1});
Run Code Online (Sandbox Code Playgroud)
这将完全符合您的要求,并remove为已删除的模型和add替换事件引发事件,这也是您想要的.
Backbone内置了一个简单的机制来处理这个问题
myCollection.add(newModel, {merge: true});
| 归档时间: |
|
| 查看次数: |
8453 次 |
| 最近记录: |