モデル内の 1 つのオブジェクトを取得し、テンプレートでレンダリングする次のコードがあります。
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"
私はバックボーンを初めて使用するので、何が原因なのかわかりません...
さらにコードが必要ですか?
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);
});
}
}
});