あなたの助けはこれを行う方法を学ぶことに感謝します、私がこれに似たコードを持っているとしましょう。
バックボーンスクリプト:
$(function(){
var Band = Backbone.Model.extend();
var BandList = Backbone.Collection.extend({
model: Band,
url: 'feed1.json'
});
var BandsView = Backbone.View.extend({
template: _.template($('#bandlist_template').html()),
render: function(eventName) {
_.each(this.model.models, function(band){
var lTemplate = this.template(band.toJSON());
$(this.el).append(lTemplate);
}, this);
return this;
}
});
var lBands = new BandList;
var AppView = Backbone.View.extend({
el: "body",
render: function(){
var lBandsView = new BandsView({model:lBands});
var lHtml = lBandsView.render().el;
$('#bands').html(lHtml);
},
initialize: function(){
var lOptions = {};
lOptions.success = this.render;
lBands.fetch(lOptions);
}
});
var App = new AppView;
});
Underscore jsテンプレート:
<script type="text/template" id="bandlist_template">
<?php echo "hello"; ?><li><%= band_name %> - <%= section %></li>
</script>
HTML:
<ul id="bands">
</ul>
Json:
[
{
"id": "149",
"band_name": "Armthorpe Elmfield",
"section": "Fourth"
},
{
"id": "127",
"band_name": "Barnsley Chronicle",
"section": "Second"
},
{
"id": "155",
"band_name": "Barnsley Metropolitan Band",
"section": "Fourth"
}
]
Ok。css
属性に応じてスタイルを変更したいとしjson
section
ます(divを配置するだけで、jsonsection
属性のみがスタイルになります'Fourth'
)。div
したがって、その属性をフィルタリングして、同じ内に配置された別のバックボーンjsにプッシュする方法ul
。
これと同じように:
<ul id="bands">
</li>Armthorpe Elmfield - <div class="styled">Fourth</div><li>
</li>Barnsley Chronicle - Second<li>
</li>Barnsley Metropolitan Band - <div class="styled">Fourth</div><li>
</ul>