я следующий код, который должен выборки один объект в моей модели и визуализации его с шаблоном:Backbone выборки возвращает все экземпляр моей модели
productDetails: function (id) {
var product = new app.models.Product({id: id});
product.fetch({
success: function (data) {
console.log(data);
app.slider.slidePage(new app.views.ProductView({model: data}).render().$el);
}
});
}
Однако, по какой-то причине, data
список всех мои объекты модели:
attributes: Object
0: Object
1: Object
2: Object
3: Object
4: Object
5: Object
6: Object
7: Object
8: Object
9: Object
10: Object
11: Object
12: Object
13: Object
...
id: "73"
Я новичок в Backbone, так что я понятия не имею, что может привести к это ...
Вам нужен больше кода?
ProductModel.js
app.models.Product = Backbone.Model.extend({
initialize: function() {
},
sync: function (method, model, options) {
if (method === "read") {
app.adapters.product.findById(parseInt(this.id)).done(function (data) {
options.success(data);
});
}
}
});
app.models.ProductCollection = Backbone.Collection.extend({
model: app.models.Product,
sync: function (method, model, options) {
if (method === "read") {
app.adapters.product.findByName(options.data.name).done(function (data) {
options.success(data);
});
}
}
});
У вас есть данные, указанные в качестве глобальной переменной или тот, который находится в более высоком объеме? Возможно, вы имеете в виду неправильные данные. – dthree
С другой стороны, ваши адаптеры.product, вероятно, относятся к коллекции, а затем возвращают коллекцию в вашей функции синхронизации продукта. – dthree
@DaveC, вы были правы. Моя функция 'findById' внутри моего адаптера возвращала' продукты' вместо найденного 'продукта'. –