在收集中循环循环时,当我立即尝试使用get检查值时,设置模型属性似乎不会粘贴。我想念什么?
collection.each(function(model){
var objectId = model.id.toString();
model.set({'objectId':objectId}, {silent:true});
console.log('model.id = ' + model.id + ' and model.get("objectId")' + model.get('objectId'));
// model.get('objectId') returns 'undefined' but model.id returns proper id
});
如代码中所述
以下代码
var TestCollection = Backbone.Collection.extend({
model: Backbone.Model
});
var collection = new TestCollection;
collection.reset([{id: 1}, {id: 2}, {id: 3}]);
collection.each(function(model) {
var objectId = model.id.toString();
model.set({'objectId': objectId}, {silent: true});
console.log('model.id %s and model.get("objectId") %s', model.id, model.get('objectId'));
})
输出
model.id 1 and model.get("objectId") 1
model.id 2 and model.get("objectId") 2
model.id 3 and model.get("objectId") 3
因此,我认为实际问题隐藏在您的其余代码中。您是否覆盖了标准骨干行为?
我发现解析框架不允许您设置" Objectid"的属性。