javascript - 如何将值传递给子组件 vue 和循环?

标签 javascript vue.js vue-component

我正在使用 axios 调用从 API 获取值。 我想使用 Home 和 ListItem 组件。我要

<template>
    <div>
            <list-item v-for="idea in ideaList" :key="idea.id"></list-item>
    </div>
</template>
<script>
    import ListItem from '../components/ListItem'
    let AddIdea = require('../components/AddIdea.vue');
    export default {
        name: "HomePage",
        components: {AddIdea, ListItem},
        data() {
            return {
                addActive: "",
                ideaList: {},
                errors: {},
            }
        },
        mounted() {
            axios.post('/getData')
                .then((response) => this.ideaList = response.data)
                .catch((error) => this.errors = error.response.data);
        },
    }
</script>

如何将我的 IdeaList 值传递到我的 ListItem 组件?并通过循环显示它们。我在哪里遗漏了什么?我试着像这样插入 Prop :

<script>
export default {
    name: "ListItem",
    data() {
        return {
            props: ['idea']
        }
    }
}

和显示值:

<template>
<span class="column is-8">
    {{idea.title}}
</span></template>

在哪里可以找到如何进行这项工作?

最佳答案

我不确定您是想将完整的 ideaList 还是只是迭代的对象传递给 ListItem,但这里有两个明显的错误。

您忘记声明要传递给 ListItem

的 Prop
<list-item v-for="idea in ideaList" :key="idea.id" :idea="idea"></list-item>

ListItem 组件中,不应在 data 对象中声明 props

export default {
    name: "ListItem",
    props: ["idea"]
}

关于javascript - 如何将值传递给子组件 vue 和循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52534432/

相关文章:

javascript - Vue watch() 输出相同的 oldValue 和 newValue

javascript - 如何让组件在父vue中触发?

javascript - 如何在 JavaScript 中让二维角色跑跳

javascript - 如何将 html 实体与 jQuery 进行比较

javascript - 动态创建特定数量的输入表单元素

javascript - 如何用vue.js和vue router实现当前路由子菜单的子菜单

javascript - Vue.js:Nuxt 错误处理

css - vuetify 上有卡片页脚/卡片组功能吗?

javascript - 在 Vue.JS 的父组件中创建子组件

javascript - 组织javascript代码