OK. Also, diese Frage ist einzigartig zu the duplicate I mentioned - vor allem, weil es 2 Arrays in der Schleife verwendet werden. Möglicherweise möchten Sie die Frage für zukünftige Suchanfragen umbenennen.
Zunächst einmal, es dauerte eine lange Zeit zu erkennen, dass ich Fehlermeldungen ernst nehmen musste. In Ihrem Fall - es sagt Ihnen gibt es Klammern - und es sollte nicht sein - so sind sie unerwartet. Entferne sie. Stylus-Syntax ist meistens wie SCSS - alles, was Sie tun müssen, ist weniger Dinge zu tippen - und sicherzustellen, dass Ihre Einzüge perfekt sind. Die Gedankenstriche ersetzen die Klammern, um Anfang und Ende der Regeln zu verdeutlichen. Entfernen Sie alle Klammern - und Semikola. * (Randbemerkung - Verwendung $ var für Variablen/sie wahrscheinlich später erforderlich - auch - :
verwendet eine Option sein - sie werden auch erforderlich)
Zweite, vermute ich, dass diese for
Schleife ist wie eine jede Schleife in Javascript, so dass Sie currentvalue, currentIndex, fullArray
Parameter mit einer durch Komma getrennten Liste erhalten können. (Ich bin nicht 100% auf, dass)
for fillColor, currentIndex in $fillColorArray
Dies würde ermöglichen es Ihnen, die Farbe und seinen Index, da diese Platzhalter zuzugreifen.
Hier ist lebendig Beispiel: https://codepen.io/sheriffderek/pen/64c6791116c3a180cb196610f9962f17/ - Sie können auswählen, das kompilierte CSS im kleinen Pfeilsymbol des Stiftfensters anzuzeigen.
Markup
<ul class="chart-list one">
<li class="chart">
<span>Chart 1</span>
</li>
<li class="chart">
<span>Chart 2</span>
</li>
<li class="chart">
<span>Chart 3</span>
</li>
<li class="chart">
<span>Chart 4</span>
</li>
</ul>
...
Sie können dies tun, ein paar Möglichkeiten - je nach Anwendung. Hier ist ein Beispiel mit 2 Schleifen - und ein anderes mit einer einzelnen Schleife.
Griffel
$fillColorArray = (#f06 pink)
$textColorArray = (white #f06)
remove-list-styles()
list-style: none
margin: 0
padding: 0
.chart-list
remove-list-styles()
margin-bottom: 2rem
background: lightgray
.chart
padding: 1rem
.chart-list.one
//
.chart
//
for fillColor, currentIndex in $fillColorArray
&:nth-of-type({currentIndex + 1})
background: fillColor
for textColor, currentIndex in $textColorArray
&:nth-of-type({currentIndex + 1})
span
color: textColor
.chart-list.two
//
.chart
//
for fillColor, currentIndex in $fillColorArray
&:nth-of-type({currentIndex + 1})
background: fillColor
span
color: $textColorArray[currentIndex]
// &:nth-of-type(2n + {currentIndex + 1})
// if you want it to repeat at those intervals
.chart-list.three
//
.chart
//
for fillColor, currentIndex in $fillColorArray
&:nth-of-type(2n + {currentIndex + 1})
background: fillColor
span
color: $textColorArray[currentIndex]
Mögliche duplizieren? http://stackoverflow.com/questions/34410889/stylus-iteration-interpolation-with-nth-of-type – sheriffderek
Auch wenn ein Duplikat, die Antwort dort funktioniert nicht für mich. – user776686