Javascript Vue.js-仅打印值而不是JSON键值符号?
相关标记如下所示:Javascript Vue.js-仅打印值而不是JSON键值符号?,javascript,html,vue.js,vuejs2,v-for,Javascript,Html,Vue.js,Vuejs2,V For,相关标记如下所示: <table> <tbody> <tr v-for="object in tableData"> <td v-for="field in object">{{field}}</td> </tr> </tbody> </table> { Internal_key: "TESTKEY_1", extensiontable_itc:
<table>
<tbody>
<tr v-for="object in tableData">
<td v-for="field in object">{{field}}</td>
</tr>
</tbody>
</table>
{
Internal_key: "TESTKEY_1",
extensiontable_itc: {
description_itc: "EXTENSION_ITC_1"
},
extensiontable_sysops: {
description_sysops: "EXTENSION_SYSOPS_1"
}
}
这种类型的对象驻留在数组中。此数组中可能有任意数量的这些对象
当前,此设置在myList.vue中创建此输出:
现在,我只想显示值,而不是这个键值JSON符号^^^我怎么能做到这一点呢?因为有些字段是对象,有些字段不是,所以需要对其进行测试。这里有一种方法:
<tr v-for="object in data">
<td v-for="field in object">
<template v-if="typeof field === 'object'">
<div v-for="item in field">
{{ item }}
</div>
</template>
<template v-else>
{{ field }}
</template>
</td>
</tr>
这是一个因为有些字段是对象,有些不是对象,所以需要对其进行测试。这里有一种方法:
<tr v-for="object in data">
<td v-for="field in object">
<template v-if="typeof field === 'object'">
<div v-for="item in field">
{{ item }}
</div>
</template>
<template v-else>
{{ field }}
</template>
</td>
</tr>
下面是一个您可以从对象中获取value和nameKey,并使用它,例如
< td v-for="(value, name) in object">
{{ value }}
</td >
您可以从对象中获取value和nameKey,并使用它,例如
< td v-for="(value, name) in object">
{{ value }}
</td >
这样的办法应该行得通。但是,在将数据放入模板之前映射数据可能更有效 {{thingy}} {{field}}
这样的办法应该行得通。但是,在将数据放入模板之前映射数据可能更有效 {{thingy}} {{field}}
我找到了一个适合我需要的解决方案,下面是相应地处理OP中显示的数据结构并动态生成所需列表的标记:
我找到了一个适合我需要的解决方案,下面是相应地处理OP中显示的数据结构并动态生成所需列表的标记:
您必须使用{field.description_itc}}如果您想要显示description_itc field的值,那么您正在遍历一个可能将嵌套对象设置为属性值的对象。在您的场景中,嵌套对象包含一个键/值对。总是这样吗?如果嵌套对象包含0个或多个属性,会发生什么情况?例如,extensiontable_itc被设置为{a:some value,b:other value}@3limin4t0r这并不一定总是这样。这些嵌套对象可以包含任意数量的属性/键值对。您的示例正确地假设了这一点。您是否已经考虑过如何在单个元素中显示所有这些值?当前有三列,分别对应于Internal_key、extensiontable_itc和extensiontable_sysops。这意味着extensiontable_itc字段应该包含嵌套对象的所有值。这是否用意呢?或者打算为嵌套对象中的每个属性创建单独的列?@3limin4t0r打算为嵌套对象中的每个属性创建单独的列,是的!:您必须使用{field.description_itc}}如果您想要显示description_itc field的值,那么您正在遍历一个可能将嵌套对象设置为属性值的对象。在您的场景中,嵌套对象包含一个键/值对。总是这样吗?如果嵌套对象包含0个或多个属性,会发生什么情况?例如,extensiontable_itc被设置为{a:some value,b:other value}@3limin4t0r这并不一定总是这样。这些嵌套对象可以包含任意数量的属性/键值对。您的示例正确地假设了这一点。您是否已经考虑过如何在单个元素中显示所有这些值?当前有三列,分别对应于Internal_key、extensiontable_itc和extensiontable_sysops。这意味着extensiontable_itc字段应该包含嵌套对象的所有值。这是否用意呢?或者打算为嵌套对象中的每个属性创建单独的列?@3limin4t0r打算为嵌套对象中的每个属性创建单独的列,是的!:谢谢,但不幸的是,到目前为止,行为还没有改变,但仍然要感谢您对vue及其v-for的深入了解谢谢,但不幸的是,到目前为止,行为还没有改变,但仍然要感谢您对vue及其v-for的深入了解你的方法很有魅力!!!!但是,关于{{Object.valuesfield[0]}。仅当对象仅包含一个属性时,此选项才有用。但是,对象可能包含除0以外的任意数量的属性…当然,小于等于:D.我如何才能做到这一点;好啊代码或屏幕截图中没有提到这一点或示例,每个对象只有一个属性。我编辑了答案,列出了彼此下面的任意数量的属性。你的方法很有魅力!!!!但是,关于{{Object.valuesfield[0]}。仅当对象仅包含一个属性时,此选项才有用。但是,对象可能包含除0以外的任意数量的属性…当然,小于等于:D.我如何才能做到这一点;好啊代码或屏幕截图中没有提到这一点或示例,每个对象只有一个属性。我编辑了答案,列出了彼此下面的任意数量的属性。谢谢,你能告诉我映射数据在这里意味着什么吗?或者给我指个解释的地方?谢谢,你能告诉我映射数据意味着什么吗 在这里或者给我指个解释的地方?