[英]v-for adding two props in the same component vuejs
Guys伙计们
I want to do a v-for using a component that has two differents props我想做一个 v-for 使用一个有两个不同道具的组件
COMPONENT零件
<template>
<div class="bg-light rounded p-2 px-5">
<h5> {{ cardNumber }}</h5>
<h3>{{ cardItem }}</h3>
</div>
</template>
<script>
export default {
name: 'HighlightCard',
props: ['cardItem', 'cardNumber']
}
</script>
V-FOR INSIDE OTHER COMPONENT V-FOR 内部其他组件
<template>
<div class="row m-auto">
<HighlightCard
v-for="(itemCard, index) in cardItems"
:key="index"
:cardItem="itemCard"
class="col m-3"/>
</div>
</template>
<script>
import HighlightCard from './HighlightCard.vue';
export default {
name: 'TopDashboard',
components: {
HighlightCard
},
data () {
return {
cardItems: ['Impressões', 'Cliques', 'Conversões', 'Custo'],
cardNumbers: ['2.300', '259', '45', 'R$ 350,00']
}
}
}
</script>
Is there any way to also add the cardNumber using v-for?有什么办法也可以使用 v-for 添加 cardNumber 吗? It works fine the way it is, but I wanna use the both props, not just the ItemCard
它按原样工作得很好,但我想同时使用这两个道具,而不仅仅是 ItemCard
If I understood you correctly, try to return right number with index:如果我理解正确,请尝试使用索引返回正确的数字:
Vue.component('highlightCard', { template: ` <div class="bg-light rounded p-2 px-5"> <h5> {{ cardNumber }}</h5> <h3>{{ cardItem }}</h3> </div> `, props: ['cardItem', 'cardNumber'] }) new Vue({ el: "#demo", data () { return { cardItems: ['Impressões', 'Cliques', 'Conversões', 'Custo'], cardNumbers: ['2.300', '259', '45', 'R$ 350,00'] } }, methods: { num(val) { return this.cardNumbers[this.cardItems.findIndex(i => i === val)] } } })
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script> <div id="demo"> <div class="row m-auto"> <highlight-card v-for="(itemCard, index) in cardItems":key="index":card-item="itemCard":card-number="num(itemCard)" class="col m-3"/> </div> </div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.