如何仅从一个集合中删除主干模型
How to remove a backbone model from only one collection
我们遇到了Backbone的一个基本问题:如果我将相同的模型添加到集合a和集合B A.add()
和B.add()
,然后用A.remove()
将其从集合a中删除,则会在集合B听到的模型上触发删除事件,因此该模型也会从集合B中删除。有没有一种首选的方法来绕过这种默认行为?我们每次操作这些集合时都必须指定{silent: true}
吗?或者有更好的方法吗?
谢谢,-mykle-
初始化模型时,需要覆盖模型上的更改方法。
Ship = Backbone.Model.extend({
defaults: {
name:'titanic',
cas: new Array()
},
initialize: function() {
this.on('change:cas', this.notify, this);
this.on('change', this.notify, this);
},
notify: function() {
console.log('cas changed');
},
notifyGeneral: function() {
console.log('general change');
}
});
这是一个包含两个变更事件的模型的好例子。您需要检查模型的集合名称,并相应地更改或不更改。在这里,你可以这样做:
initialize: function() {
this.on('change', this.notify, this);
},
notify: function() {
console.log('cas changed');
if(this.collection.id = 'CollectionB'){
return true;
}else{
return false;
}
}
这里有一个很好的参考:
Backbone.js:change未在模型上启动。change()
相关文章:
- 删除集合中旧邮件/帖子的最佳方式
- 删除“;列“;来自使用Lodash的集合
- 如何选择性地从主干集合和服务器中删除模型
- 如何使用文档的ID从mongoDB集合中删除文档
- TR标记需要从表集合中删除多个类
- 从集合中删除项目时,将其从视图中删除
- 在Meteor中删除Mongo数据库集合
- 使用for.of迭代时删除集合中的元素是否安全
- 未从具有 .splice(index, 1) 的集合中删除的元素
- 如何使用猫鼬从集合中删除所有文档
- ES6:在设置/映射迭代期间从集合/映射中删除元素是否危险
- 使用 app.delete [express.js] 删除 mongo 数据库中的集合
- 如何在更新时从 mongodb 集合中删除字段
- 保存或删除集合中的模型时,主干视图不会更新
- 复合视图在扩展主干集合时未收到“删除”事件
- 主干集合无法删除项目
- 模型不会从主干集合中删除
- 流星:如何在MongoDB中单击一下即可从两个集合中删除两个文档
- 使用模板事件侦听器删除 Meteor.js 集合时出现问题
- 主干.js:从集合中删除项目