<li v-for="item in navbars">
<router-link to="{path:item.router}">{{item.names}}</router-link>
</li>
但它不起作用,控制台是
vue-router.esm.js?f926:16 [vue-router]重复命名的路由定义:{name:&#34; auto&#34;,path:&#34; / auto&#34; }
export default {
data () {
return {
isShow: false,
navbars: [
{names: 'xx', router: '/xx'},
{names: 'xx', router: '/xx'},
{names: 'xx', router: '/xx'},
{names: 'xx', router: '/xx'},
{names: 'xx', router: '/xx'}
]
}
}
}
答案 0 :(得分:0)
使用javascript表达式时应该使用v-bind:
<router-link :to="{path:item.router}">{{item.names}}</router-link>
答案 1 :(得分:0)
不是将to
更改为:to
。出于性能原因,最好使用:key="i"
和v-for="(item, i) in navbars"
。
其他人访问此问题并在其代码中包含:href
的笔记-您需要将:href
更改为:to
。
答案 2 :(得分:0)
如果您使用 router-link:
<li v-for="item in navbars" v-bind:key="item.id">
<router-link :to="{path:item.router}">{{item.names}}</router-link>
</li>
或者如果您使用 href:
<li v-for="item in navbars" v-bind:key="item.id">
<a :href="item.router">{{ item.title }}</a>
</li>
您可以将 id
添加到 navbars
export default {
data () {
return {
isShow: false,
navbars: [
{names: 'xx', router: '/xx', id: 1},
{names: 'xx', router: '/xx', id: 2},
{names: 'xx', router: '/xx', id: 3},
{names: 'xx', router: '/xx', id: 4},
{names: 'xx', router: '/xx', id: 5}
]
}
}
}