VueJS/Javascript:预期的数组得到了对象
Posted
技术标签:
【中文标题】VueJS/Javascript:预期的数组得到了对象【英文标题】:VueJS/Javascript: Expected array got object 【发布时间】:2021-08-15 23:37:55 【问题描述】:我是 vue 新手,试图在列表中显示数组内的项目
Vue 组件:
<template>
<div>
<ul id="array-rendering">
<li v-for="item in items" :key="item.message">
item.message
</li>
</ul>
</div>
</template>
<script>
export default
props:
items:
type: [],
default: [
message: 'Foo' ,
message: 'Bar'
]
,
,
</script>
<style scoped>
h4
display: flex;
align-items: center;
justify-content: center;
</style>
页面:
<ErrorAlert v-bind:items="result"/>
这里是result
[
message: "Foo2" ,
message: "Bar2"
];
我得到的不是值 'foo2' 和 'bar2' 而是错误:Expected array got object
查看了类似的post 并尝试解析 JSON 但仍然没有得到预期的结果。有人可以帮忙吗?
【问题讨论】:
【参考方案1】:只需绑定v-bind:items="result"
。由于您将绑定值包装在 ...
中,因此您创建了一个对象文字。只需"result"
将传递数组。
【讨论】:
【参考方案2】:Vue 有一个可以是任何数据类型的 prop。
在所有数据类型中,Object、Array 应该是它们的默认值的函数。
export default
props:
items:
type: Array,
default: () => [
message: 'Foo' ,
message: 'Bar'
]
,
,
而v-bind:items
已经可以有javascript 变量。
所以
<ErrorAlert v-bind:items="result"/>
【讨论】:
以上是关于VueJS/Javascript:预期的数组得到了对象的主要内容,如果未能解决你的问题,请参考以下文章
检查输入时出错:预期 input_1 有 4 个维度,但得到了形状为 (224, 224, 3) 的数组
检查目标时出错:预期 dense_24 有 3 个维度,但得到了形状为 (3283, 1) 的数组
Keras 图像分类:检查输入时出错:预期 input_1 有 4 个维度,但得到了形状为 (6885、7500) 的数组