如何使用Vue从json对象获取父元素
我正在处理一些扁平化的json数据,访问部分数据时遇到困难,因此我希望使用可以访问的元素,然后获取它们的父元素以供显示。我需要获得任何具有多个值的数组的计数,如果只有一个值,则只显示该值,我可以这样做。我遇到的问题是试图显示数组的父项(可能不是最佳术语?)值 例如,如果这是我的json数据:如何使用Vue从json对象获取父元素,json,vue.js,Json,Vue.js,我正在处理一些扁平化的json数据,访问部分数据时遇到困难,因此我希望使用可以访问的元素,然后获取它们的父元素以供显示。我需要获得任何具有多个值的数组的计数,如果只有一个值,则只显示该值,我可以这样做。我遇到的问题是试图显示数组的父项(可能不是最佳术语?)值 例如,如果这是我的json数据: { "Dogs": [ { "Name": "Gus", "Leashes": { "564": [
{
"Dogs": [
{
"Name": "Gus",
"Leashes": {
"564": [
6
]
}
},
{
"Name": "Jake",
"Leashes": {
"15775": [
"457",
"787",
"278"
]
}
},
]
}
如何访问“564”和“15775”值,以便在表格的左列中显示它们?我知道数据不好,应该用ID或其他东西进行标准化,但事实并非如此,在他们修复转换并纠正数据之前,我无能为力。在本例中,要获取长度或仅显示所需的数据,可以使用类似的方法(请忽略跨度,此数据将放在表格中):
{{Leash[0]}(给我
(好的价值观)
{{Leash.length}}(给出
我是伯爵,也很好)
我陷入困境的地方是试图显示这些父值。我正在使用一个表,需要左列的父“id”和右列的值(我可以得到)。任何帮助都将不胜感激。目前,尝试对数据使用函数或vue实例是不可能的。我看到了一些关于如何做到这一点的复杂例子,但我无法让它们发挥作用。是否有如下情况:
<template v-for="Dog in Dogs">
<template v-for="Leash in Dog.Leashes">
<span>{{ Leash.parent }}</span>
</template>
</template>
{{Leash.parent}}
使用{{Leash}}可以得到数组
在此,任何帮助都将不胜感激。一旦他们真正获得了正确的数据,我就必须重做一些操作,但现在,这正是我正在处理的。您需要访问
皮带的钥匙,因此您需要执行以下操作:
<template v-for="Dog in dogs">
<template v-for="(Leash, name, index) in Dog.Leashes">
<span>{{ name }} </span>
</template>
</template>
我复制了这个代码,在我的例子中给出了564
和15775
。这就是你想要的吗?你需要使用你的皮带的钥匙,所以你需要这样做:
<template v-for="Dog in dogs">
<template v-for="(Leash, name, index) in Dog.Leashes">
<span>{{ name }} </span>
</template>
</template>
我复制了这个代码,在我的例子中给出了564
和15775
。这就是你想要的吗?什么是Leash.parent
?这是指狗还是?@mare96不,我正在尝试访问作为皮带数组“父”的数字。我知道这是一个奇怪的问题,但我无法理解,我需要能够得到“564”和“15775”的值,而我不能…牵引父母意味着对象的钥匙{{key}}
更多信息:尝试在你的for-give索引中使用如下:{{Object.keys(Leash).indexOf(index)}
@CsabaGergely我想对于key,他会得到0,1,2。。。他需要对象值。什么是约束。父对象?这是指狗还是?@mare96不,我正在尝试访问作为皮带数组“父”的数字。我知道这是一个奇怪的问题,但我无法理解,我需要能够得到“564”和“15775”的值,而我不能…牵引父母意味着对象的钥匙{{key}}
更多信息:尝试在你的for-give索引中使用如下:{{Object.keys(Leash).indexOf(index)}
@CsabaGergely我想对于key,他会得到0,1,2。。。他需要对象值。感谢您的回复,这将返回未定义的键。可能我的实现不正确。您是在没有.indexOf(index)
的情况下尝试的,还是只是{{index}}
?我第一次一定是做错了什么,它返回了预期的索引(0,1,2等等)。不幸的是,它没有显示实际的“564”和“15775”数字。仍然给出索引。再次感谢您的帮助。请查看我的更新。我回复了它并给了我564
和15775
这是预期的吗?也许你需要解码你的json文件,否则我不知道@PhilT41感谢您的回复,这将返回未定义的键。可能我的实现不正确。您是在没有.indexOf(index)
的情况下尝试的,还是只是{{index}}
?我第一次一定是做错了什么,它返回了预期的索引(0,1,2等等)。不幸的是,它没有显示实际的“564”和“15775”数字。仍然给出索引。再次感谢您的帮助。请查看我的更新。我回复了它并给了我564
和15775
这是预期的吗?也许你需要解码你的json文件,否则我不知道@PhilT41
data() {
return {
dogs: [
{
Name: 'Gus',
Leashes: {
564: [
6,
],
},
},
{
Name: 'Jake',
Leashes: {
15775: [
457,
787,
278,
],
},
},
],
}
}