Parse.com - атрибуты Parse.Object.extend(...)

Я работаю с Parse JS и Backbone, и я пытаюсь распечатать список значений из модели Parse JS. Это легко, но у меня проблема с objectId.

Тогда у меня есть...

var Thing = Parse.Object.extend('MyThings');
var Things = Parse.Collection.extend({ model: Thing
});
var collection = new Things();
collection.fetch({ success: function(){ App.start(collection.toJSON()); }
});

Это мнение...

ThingView = Backbone.View.extend({ tagName: 'tr', render: function(){ this.$el.html(_.template($('#item-template').html(), this.model.attributes)); }
});
ThingListView = Backbone.View.extend({ tagName: 'table', addAll: function(){ this.collection.forEach(this.addOne, this); }, render: function(){ this.$el.empty(); this.addAll(); }, addOne: function(item){ var itemView = new ThingView({model: item}); itemView.render(); this.$el.append(itemView.el); }
});

И это шаблон (с Underscore.js)...

Имя и цвет атрибутов отображаются правильно, но 'id не определен'

Есть идеи?

1 ответ

Проблема в том, что id не живет в атрибутах. Он фактически живет в корне объекта. Итак, что вам нужно сделать, это передать this.model в _.template() вместо this.model.attributes, а затем соответствующим образом скорректировать в своем HTML - например, следующее:

render: function(){ this.$el.html(_.template($('#item-template').html(), this.model));
}
<%= id %>
<%= attributes.name %>
<%= attributes.color %>

licensed under cc by-sa 3.0 with attribution.