2016-05-12 9 views
1

Ich habe bei der Dokumentation suchen, und kann nicht scheinen, einen Weg zu finden, die folgenden zu tun:Rctive Numeric For Loop möglich?

<script> 
     var maxStars = 5 ; 
    </script> 

    <script id="starryNight" type="text/ractive"> 
    <ul class="starRating"> 
     {{#for i=0 until {{maxStars}} }} 
      <li class="star"></li> 
     {{/for}} 
     </ul> 
    </script> 

Die Idee ist, numerisch zu speichern, wie viele Sterne ein Element gegeben wurde, z.B. in einem Einkaufswagen. Zeichnen Sie dann die richtige Anzahl der Sterne für diesen Artikel.

Wenn mir jemand in die richtige Richtung zeigen kann, würde es sehr geschätzt werden.

Antwort

1

Das Problem besteht darin, die Zahl in einen iterierbaren Wert zu konvertieren.

<ul class="starRating"> 
    {{#each Array(maxStars) }} 
     <li class="star"></li> 
    {{/each}} 
</ul> 

Oder für etwas ein bisschen spannender durch Einkapseln der max Sterne im iterable selbst:

Sie mit dem Fußgänger gehen könnte

<ul class="starRating"> 
    {{#each '★★★★★'.split('') }} 
     <li class="star"></li> 
    {{/each}} 
</ul> 
+0

Dank @martypdx! Ich werde mit beiden Ideen experimentieren. – Anthony

+0

Sehr schöne Lösung. Hat genau das gemacht, was du gesagt hast. Ich ging mit Ihrer ersten Option, da ich nicht wirklich verfolgt habe, wie die zweite mit 'maxStars' umgehen würde. Danke, dass Sie sich die Mühe gemacht haben zu antworten. – Anthony