vue.js - vue.js“类型错误:无法读取未定义的属性‘路径’”
问题描述
我知道这是一个常见问题,但我现在已经多次浏览我的文件,但无法找到错误。当我尝试在导航菜单中路由到我的组件时出现此错误。
我的 app.vue 文件:
<template>
<div id="app">
<Navbar
:nav-links="navLinks"
/>
<router-view/>
</div>
</template>
<script>
import Navbar from '@/components/Navbar'
export default {
components: {
Navbar
},
data: () => ({
navLinks: [
{
text: 'Home',
path: '/home'
},
{
text: 'About',
path: '/about'
},
{
text: 'Contact',
path: '/contact'
}
]
})
}
</script>
我的导航栏组件(这是发生错误的地方)
<template>
<nav>
<ul>
<li v-for="{link, index} in navLinks" :key="index"
@mouseover="hover = true"
@mouseleave="hover = false">
<router-link :to="link.path">
{{ link.text }}
</router-link>
</li>
</ul>
</nav>
</template>
<script>
export default {
props: ['navLinks'],
data(){
return {
hover: false,
}
}
}
</script>
我该如何解决?
解决方案
你在这里犯了两个错误。
一个是:
<template>
<div id="app">
<Navbar
:nav-links="navLinks"
/>
<router-view/>
</div>
在这里您使用不同的名称进行绑定(nav-links)
,您应该保持与您绑定数据的名称和道具内的名称相同(navLinks)
。两个名称应该相同。
第二个:
v-for="{link, index} in navLinks"
语法错误,正确的语法应该是
v-for="(link, index) in navLinks"
推荐阅读
- linux - 为同一 Docker 容器的多个实例分配不同的公共 IP
- unity3d - 桌面复制 API 显示不支持
- python - 在scrapy spider中创建类实例变量
- php - WordPress 创建非唯一 GUID
- amazon-cloudformation - Cloudformation中Userdata中通过IP地址挂载EFS
- javascript - 在数组中查找通常彼此相邻出现的元素
- python - 如何用查找排除所有标题?
- sql-server - 在环回数据模型中定义数据类型为 varbinary 的字段
- google-cloud-platform - 错误:4 DEADLINE_EXCEEDED:Object.exports.createStatusError 已超过最后期限 - GCP
- kubernetes - 如何确保 GKE 中我的节点上只运行一个 pod?