如何使用 v-for 在每个元素中呈现不同的 CSS 类
How to render different CSS classes in each element using v-for
我正在尝试使用 chartist.js 遍历圆环图的标签数组,我无法弄清楚 chartist.js 是否可以将标签放在侧面而不是内部甜甜圈图。我想在 v-for 渲染的每个元素上传递一个不同的 css class ,这样我就可以将圆环图的相同颜色放入其对应标签中。因此,如果在图表中 x 的值是蓝色,我希望我的 x 标签有一个蓝色的项目符号点。
<v-flex sm-6 style="margin-top: 15px;">
<v-layout v-for="(item, index) in labelsAndValuesPieChart.labels" :key="index">
// 这是我的“要点,我想在每次迭代时更改颜色
<v-flex>
<span class="dot"></span>
</v-flex>
<v-flex>
<span class="pie-chart-label">{{item}}</span>
</v-flex>
</v-layout>
</v-flex>
根据您在问题下方留下的评论,您只需生成 类 看起来像 ct-series-b
。
在这种情况下,您可以创建一个数组来存储所有字母(用于索引到字母的转换)。数组的索引将匹配项目的索引;
let alphabet = ['a', 'b', 'c', 'd', 'e'] // ...
methods: {
getClass: function(index){
return 'ct-series-' + alphabet[index];
}
}
<v-flex>
<span class="pie-chart-label" :class="getClass(index)">{{item}}</span>
</v-flex>
我正在尝试使用 chartist.js 遍历圆环图的标签数组,我无法弄清楚 chartist.js 是否可以将标签放在侧面而不是内部甜甜圈图。我想在 v-for 渲染的每个元素上传递一个不同的 css class ,这样我就可以将圆环图的相同颜色放入其对应标签中。因此,如果在图表中 x 的值是蓝色,我希望我的 x 标签有一个蓝色的项目符号点。
<v-flex sm-6 style="margin-top: 15px;">
<v-layout v-for="(item, index) in labelsAndValuesPieChart.labels" :key="index">
// 这是我的“要点,我想在每次迭代时更改颜色
<v-flex>
<span class="dot"></span>
</v-flex>
<v-flex>
<span class="pie-chart-label">{{item}}</span>
</v-flex>
</v-layout>
</v-flex>
根据您在问题下方留下的评论,您只需生成 类 看起来像 ct-series-b
。
在这种情况下,您可以创建一个数组来存储所有字母(用于索引到字母的转换)。数组的索引将匹配项目的索引;
let alphabet = ['a', 'b', 'c', 'd', 'e'] // ...
methods: {
getClass: function(index){
return 'ct-series-' + alphabet[index];
}
}
<v-flex>
<span class="pie-chart-label" :class="getClass(index)">{{item}}</span>
</v-flex>