2
我正在使用Parse JS和Backbone,並嘗試打印來自Parse JS模型的值列表。這很容易,但我有objectId的問題。Parse.com - Parse.Object.extend(...)屬性
然後,我有...
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)...
<script type="text/template" id="item-template">
<td><%= id %></td>
<td><%= name %></td>
<td><%= color %></td>
</script>
屬性名稱和顏色顯示正確,但'id未定義'
任何想法?
#item-template封裝在
我沒有看到['Parse.Object'文檔]中的'id'屬性的任何引用(https://parse.com/文檔/ JS /符號/ Parse.Object.html)。你確定你不是在談論'cid'嗎? – Dethariel 2014-10-31 16:36:17
回答
問題是ID不屬於屬性。它實際上生活在物體的根部。所以,你需要做的是通過this.model到_.template(),而不是this.model.attributes,然後在你的HTML相應的調整 - 如以下:
來源
2014-11-28 17:50:15 jeffdill2
謝謝!我已經用另一種方式解決了,但你的解決方案更好。 – wraham 2014-12-03 11:35:58
很高興它的工作! :-) – jeffdill2 2014-12-03 14:58:40
我很好奇,您放置的其他解決方案是什麼? – jeffdill2 2014-12-03 14:59:04
相關問題