I simply want to increment a CSS class based on the loop count using the index
value as a suffix to a defined class "classname nb"
to get "classname nb1"
, "classname nb2"
.
I'm able to print it as content using double curly brackets {{ index }}
(in my example below) but I dont’t know what syntaxe to use within the Vue :class
prop.
<ol>
<li v-for="index in 3" :key="index">
<v-bind :>
classname nb{{ index }}
</v-bind>
</li>
</ol>
I expect these CSS classes on <v-bing>
:
1. classname nb1
2. classname nb2
3. classname nb3
CodePudding user response:
I got the answer from a colleague...
First wrap the classname to index within single quotes for class ( '…'
), for not conflicting with the :
double quotes, followed by the plus sign (
) then the index
key.
<v-bind :>
{{ "nb" index }}
</v-bind>
Gives
<v-bind > nb1 </v-bind>
<v-bind > nb2 </v-bind>
<v-bind > nb3 </v-bind>
CodePudding user response:
you can use template literals like this:
<ol>
<li v-for="index in [1,2,3]" :key="index">
<v-bind :class=`nb${index}`>
classname nb{{ index }}
</v-bind>
</li>