通过道具传递整个对象在 Vue.js 中不起作用,而传递单个成员有效 [英] Passing an entire object via props not working in Vue.js while passing a single member works

查看:32
本文介绍了通过道具传递整个对象在 Vue.js 中不起作用,而传递单个成员有效的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我目前正在编写一些练习代码,您可以通过单击其中一个显示的按钮来获取一些详细的卡片数据.

我实现了显示详细的卡片信息"功能,当您通过以下代码单击橙色按钮之一时会触发该功能,

<span v-if="cardBtnChosen && card.id == selectedCard &&获得的CardInfo.id == selectedCard"><span class="cardInfo">详细的卡片信息:</span><div class="cardInfoDisplay"><div v-for="(detailedInfo,index) intainedCardInfo" :key="index"><p v-if="obtainedCardInfo[index]">{{index}} : {{obtainedCardInfo[index]}} </p><p v-else>{{index}} : NULL </p>

<br></span>

,但是由于对象obtainedCardInfo 中包含了一些其他对象,所以输出的某些部分仍然是这样的JSON 对象形式.

详细卡信息:帐号:3917674编号:3918534客户编号:998774卡角色:主要卡状态:CARD_OK截断的卡号:524804______9042卡片模板:MC_CARD卡地址:NULL用法限制 : [ { "code": "WEEKLY", "values": null }, { "code": "DAILY", "values": [ { "code": "ATM", "singleAmount": 200, "count": 3, "sumAmount": 300 } ] }, { "code": "MONTHLY", "values": [ { "code": "ATM", "singleAmount": null, "count": 1000, "sumAmount"": 1000000 } ] } ]到期:{年":2022,月":6}引脚地址:NULLregionAndEcommBlocking : { "ecomm": false, "africa": false, "asia": false, "europe": false, "home": false, "northAmerica": false, "oceania": false, "southAmerica": false}

我得到了一些建议,我可能需要将另一个组件作为子组件,这样我就可以遍历子组件内的 obtainedCardInfo,然后像这样导入子组件.

<div v-for="element in arrayOfElements"><child-component :data="element"/></div>

于是我开始着手制作另一个组件,但又出现了另一个问题.当我尝试将数据作为以下代码传递时,我无法将对象数据传递给我制作的组件 DetailedInfoChild.vue.

<app-detailed-info-child v-bind="obtainedCardInfo"></app-detailed-info-child>

我觉得它不工作时很奇怪,因为这应该遵循Vue.js官方文档中的语法.

https://vuejs.org/v2/guide/components-props.html#Passing-the-Properties-of-an-Object

让我觉得更奇怪的是,当我尝试传递对象的单个成员而不是整个对象时,我可以传递数据,如下所示.

<app-detailed-info-child v-bind:id="obtainedCardInfo.id"></app-detailed-info-child>

我可能做错了什么?

这里是我写的组件DetailedInfoChild.vue的代码.