我是handlebars.js的新手 这是我的数据结构(伪代码)
{
News = list of news;
Ads = list of add;
}
我尝试做的是访问“按新闻广告”索引(我确保索引存在,没有问题)。添加包含多个属性
当我打电话
{{../Ads.[0]}
一切正常,我可以在使用@key
时访问广告{{../Ads.[@key]}
handlebars.js找不到任何内容。我认为这是因为@key是一个字符串而不是整数。 但我发现无法将其转换为整数。试过一个帮助器,它将@key转换为整数,但我不知道如何使用它,因为
//template markup
{{../Ads.[numericIndex @key]}}
也不会产生结果。
所以,我想出的是以下(有效)
{{#ad../Ads index = @@key}}{{this}}{{/ad}}
//the helper, just a basic example
Handlebars.registerHelper('ad', function (ads, options) {
return "<strong>" + options.fn(ads[parseInt(options.hash.index)].Source) + "</strong>";
});
但我想知道实现我想要的最好方法是什么。 当然,我的解决方案有效,但感觉有点笨拙。
想法?
修改
根据Jivings的要求,这是我想要实现的目标。这就是我想要作为广告输出的内容(我使用了车把的模板标签来显示我想要显示的内容。这里的所有属性都属于“广告”) 这应该为我循环播放的每条新闻输出。
希望这有帮助
<div class="ad col-sm-12" title="{{Title}}">
<a href="{{Link}}">{{Source}}</a>
</div>
结束编辑