我试图弄清楚如何使用Handlebars从返回的ajax请求中使用被操纵的数据。
在我的数据库中,我将数据存储为对象,例如:
{"1 year":"$4.95", "2 years":"$3.95"}
现在我希望能够将数据用作键/值对,所以我尝试了以下内容。
Compare.prototype.show = function(data) {
// data returned from ajax request
$.each(data, function (index, dataItem) {
// grabbing the returned pricing_term data for manipulation
var priceData = dataItem.pricing_term;
var priceObj = JSON.parse(priceData);
$.each(priceObj, function(term, pricing) {
// How can I access this data on my handlebars template?
});
});
var template = Handlebars.compile( $('#compareResultsTemplate').html() );
$('div.results-container').append(template(data));
}
我检索了键/值对(有更简洁的方法吗?),但现在我不知道如何在我的把手模板中使用它。我试图在我的把手模板中使用键/值对,但它什么都不返回。这是我试过的
<div class="result">
{{#each this}}
<div class="planTerm">
{{term}}
</div>
<div class="planPrice">
{{pricing}}
</div>
{{/each}}
</div>
答案 0 :(得分:0)
根据您拥有的模板,您传递给data
的{{1}}值必须如下所示:
template
使用var data = [
{ "term": "1 year", "pricing": "$4.95" },
{ "term": "2 years", "pricing": "$3.95" }
];
上的$.each
循环,您可以像这样汇编数据数组:
priceObj