我正在使用backbone.js 和下划线模板系统来动态显示来自json 文件的数据。当我使用 <%console.log('template test') %> 控制台登录 html 时,我的模板不起作用 尝试使用下划线模板时我做错了什么?另外,如何遍历 json 文件并获取“价格”并与模板一起显示?
如果问题不清楚,我会尝试解释更多。任何帮助表示赞赏,谢谢!
如下所示的 json 文件示例
//addToCartResponce.json//
{
"response":{
"headers":{
"store":"123",
"id":"321"
},
"cart":{
"message":"na",
"orderId":"333",
"orderItems":{
"orderItem":[
{
"price":"$1.00",
"qty":"1",
"methods":{
"selectedMethod":{
"SelectedFFMCenter":"DDC",
"SelectedStore":"na"
}
}
}
]
}
}
}
}
这是我的主干文件。
收藏
var cartCollection = Backbone.Collection.extend({
el: this,
url: function() {
return window.location.href + '/assets/js/ajax/addToCartResponce.json'
},
parse: function(resp) {
return resp.response;
},
initialize: function() {
this.fetch({
async: false
});
this.on('add',this.cartFunction());
var shoppingCart = this.pluck('cart');
console.log("this.pluck('cart')");
console.log(shoppingCart);
}, // end of initialize
cartFunction: function(){
console.log('cart Functon');
}
}); // The console logs in cartCollection are working.
看法
cartContent = Backbone.View.extend({
el: $('.cartContent'),
initialize: function() {
this.render();
},
render: function( ){
this.collection = new cartCollection();
var cart_template = _.template( $(".cartContentTemplate").html() );
this.$el.html( cart_template );
return this;
}
});
cartView = new cartContent();
HTML
<script type="text/template" class ="cartContentTemplate">
<div class="cartContent">
<% console.log('template test'); %>
</div>
</script>