[英]Handlebars appends 'undefined' on a helper output
我有这个帮手
Handlebars.registerHelper('star-score', function(score, maxScore, options) {
var output;
for(var i = 1; i <= maxScore; i++) {
if (score >= i) {
output = output + '<span class="star full"> </span>';
} else {
output = output + '<span class="star empty"> </span>';
}
}
return new Handlebars.SafeString(output);
});
基本上我想做的是通过此助手一些数字,我希望它根据数字得分来生成用户评级星
这就是我所说的助手
<div class="user-score">
{{star-score establishment.user_score 5}}
</div>
但是有趣的是结果代码看起来像这样
<div class="user-score">
undefined
<span class="star full"> </span>
<span class="star full"> </span>
<span class="star full"> </span>
<span class="star empty"> </span>
<span class="star empty"> </span>
</div>
我不知道这个“不确定”的来源。 而且我不知道如何解决它。 开发人员控制台中没有错误。 我究竟做错了什么?
循环第一次运行时输出undefined
,因此其评估结果如下
output = undefined + '<span class="star full"> </span>';
只需将输出初始化为空字符串即可解决问题
var output = "";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.