backbone-js:如何静默初始化一个新的集合
backbone-js: how can I silently initialize a new Collection?
我一定在做一些愚蠢的事情,或者可能缺少 Backbone 文档的某些关键部分,但我不明白为什么当我以这种方式初始化新集合时会触发 Model.validate 函数:http://jsfiddle.net/5a3k/QSeH6/..有什么想法我哪里出错了吗?
编辑:更改标题
通过执行此行:
var myCollection = new Collection([{id: 'smith'}]);
使用一个模型创建新集合。构造函数中传递的所有模型都将添加到集合中。将验证每个添加的模型。
详:
- Backbone.Collection 构造函数正在调用
this.reset()
(源(。 -
.reset()
将以静默方式将所有模型添加到集合(源(中。 -
.add()
将调用每个模型(源(的内部._add()
。 - 内部
._add()
将调用.prepareModel
,该正在检查模型是否有效(源(。
更新(基于问题中的编辑(:
仅当模型不是Backbone.Model
(源(的实例时,才会执行model.validate
。
因此,如果您使用
var myCollection = new Collection([{id: 'smith'}]);
那么模型就是Object
的实例。但是,如果您使用:
var myCollection = new Collection([ new Model({id: 'smith'}) ]);
然后模型是Backbone.Model
的实例,并跳过验证。
相关文章:
- 包含一个集合的1到3个成员但其中一个成员不能单独存在的正则表达式
- 如何将两个集合转换为一个集合
- Meteor:访问另一个集合,每个块中有一个id
- Backbone.js视图可以有一个模型和一个集合吗
- 另一个集合视图中的集合视图
- Mongo-Aggregate:如何与另一个集合中的字段进行比较
- Meteor - 将 mongodb 查询分配给变量并将其插入到另一个集合
- 基于 MongoDB 中另一个集合中的数据查询一个集合中的数据
- 流星 - 将数据从一个集合移动到另一个集合
- 一个集合中的不同模型类型 主干
- 如何在插入时引用另一个集合
- 主干:将模型从一个集合添加到另一个集合
- 用于将树分支从集合移动到另一个集合的Firebase API
- WinstonMongoDB:如何将日志管道传输到多个集合,而不是全部传输到一个集合
- 如何仅从一个集合中删除主干模型
- MongoDB:从一个集合中提取多个随机文档
- 在Meteor(MongoDB)中,按另一个集合中的值搜索一个集合
- MongoDB-插入到两个集合中,一个集合引用另一个作为子文档
- Meteor从数组返回值,以便在另一个集合中使用它
- 只有当一个新元素被添加到一个集合中时,才使用$inc