Backbone在获取回调中返回空
问题描述:
我有一个奇怪的错误,其中函数(钛合金,有点同质)返回空,而fetch方法返回模型列表。伊夫检查了一遍又一遍,我试图把其中函数的获取方法的成功回调,但它仍然会导致一个无法解决的错误Backbone在获取回调中返回空
Alloy.Collections.favorites.fetch({
success: function(collection) {
console.log(JSON.stringify(collection));
console.log(self.get('id'));
var favorite = collection.where({
jobId: self.get('id')
});
console.log(JSON.stringify(favorite));
});
以上输出是:
[{"jobId":5162179,"dateAdded":1414590144,"candidateId":99,"id":19},{"jobId":5161302,"dateAdded":1414588983,"candidateId":99,"id":17},{"jobId":5161437,"dateAdded":1414588785,"candidateId":99,"id":16}]
5161437
[]
哪有上述事情发生?怎么能重现这个?该集合是否被占用或者是钛合金中的一个错误?此过程是视图(视图A)上数据绑定的一部分,此确切代码适用于不同部分,唯一不同之处在于视图A不直接受集合中的更改影响。
任何帮助?这甚至有可能与骨干?我不能让我的头围绕这个
答
显然。哪里函数严格比较2倍的值(===
运营商),我给了一个string
的形式,而在集合中的ID是一个integer
的ID。太糟糕的主干文件没有说明这个信息
+0
上周我犯了同样的错误:) – phil 2014-10-30 01:33:09
尝试'console.log(最喜欢);'即。不会将其字符串化 – benhowdle89 2014-10-29 14:12:37
当您通过'JSON.stringify'对整个集合进行序列化时,会隐式调用['toJSON'](http://backbonejs.org/#Collection-toJSON)方法,将集合转换为JSONable数组。但是当你尝试序列化'collection.where'的结果时,这会导致错误,因为['collection.where'](http://backbonejs.org/#Collection-where)返回**不能成为模型的数组**直接序列化为JSON。 – hindmost 2014-10-29 15:04:18