【发布时间】:2020-04-13 06:18:18
【问题描述】:
在我的父组件中,我这样称呼我的子组件“DotsNavigation”:
<template>
<div>
<dots-navigation :steps="steps" />
</div>
</template>
<script>
import DotsNavigation from "@/components/dashboard/dots-navigation"
export default {
components: {
DotsNavigation
},
data: function() {
return {
steps: [
{
title: "title1",
path: "path1"
},
{
title: "title2",
path: "path2"
},
...
]
}
}
}
</script>
我的子组件“DotsNavigation”看起来像这样:
<template>
<nav>
<div v-for="(step, key) in steps">
<router-link
:key="`dot-${key}`"
:to="`/dashboard/${step.path}`"
>
<div>
{{ key + 1 }}
</div>
<div>
{{ step.title }}
</div>
</router-link>
<div
:key="`line-${key}`"
v-if="key !== steps.length - 1"
></div>
</div>
</nav>
</template>
<script>
export default {
props: {
steps: {
type: Array,
default: () => []
}
}
}
</script>
在我的子组件中,“步骤”是空的。我不明白为什么会这样。有什么想法吗?
【问题讨论】:
-
控制台有什么说法吗?你有 vue 调试器浏览器工具吗? DotsNavigation 中的
...是什么? -
你怎么知道它是空的?您的代码似乎正确
-
没有控制台错误。
steps是空的,我在 Vue chrome 工具中看到是的。我添加了我用...隐藏的其余代码 -
您的 DotsNavigation 组件有多个根组件。你应该包装 v-for div
-
它对我来说很好,也许上传你的整个代码库。