简体   繁体   English

v-for 在同一个组件 vuejs 中添加两个 props

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM