我试图循环5次html代码,在这个循环中,我试图添加颜色变量,但次数仅为评级次数。
可能是html之后的另一个循环
请给出一个想法,也许还有其他更好的方法来实现
Template7.registerHelper('rating', function(options) {
var rating = this.avgrating;
var color = 'color-orange';
var html ="";
for (i = 0; i < 5; i++) {
html += '<i class="fa fa-star ' + color + '"></i>';
}
return html;
});
我假设var评级值3返回html应该像这样返回
<i class="fa fa-star color-orange"></i>
<i class="fa fa-star color-orange"></i>
<i class="fa fa-star color-orange"></i>
<i class="fa fa-star"></i>
<i class="fa fa-star"></i>
Template7.registerHelper('rating', function(options) {
var rating = this.avgrating;
var color = 'color-orange';
var html ="";
for (i = 0; i < 5; i++) {
if(i <= rating){
html += '<i class="fa fa-star ' + color + '"></i>';
}else{
html += '<i class="fa fa-star"></i>';
}
}
return html;
});
您可以检查条件以获得所需的结果。
是的,循环是最好的解决方案。当你把两个for循环放在一起时,这被称为嵌套for循环