我在vue.js应用程序中有一条路由,如下所示:
/bewerk/rit/:rideId
因此,当我像这样在我的vue.js网络应用程序中链接到该网址时:
<a v-link="{ name: 'bewerk/rit', params: { rideId: ride.id }}" class="btn-edit">Bewerk</a>
我得到错误:
main.js:4043 Uncaught Error: There is no route named /bewerk/rit/
怎么了?
最佳答案
对于Vue 1.x和Vue-router 0.7:
您正在传递路径的路径作为名称。为您的路线“ / bewerk / rit /:rideId”指定名称属性。
例如:
router.map({
'/bewerk/rit/:rideId': {
name: 'bewerk_rit', // give the route a name
component: { ... }
}
})
并在您的html中:
<a v-link="{ name: 'bewerk_rit', params: { rideId: ride.id }}">Bewerk</a>
参考:https://github.com/vuejs/vue-router/blob/1.0/docs/en/named.md
更新:对于Vue 2.0和Vue-Router 2.0:
<router-link :to="{ name: 'bewerk_rit', params: { rideId: ride.id }}">
Bewerk
</router-link>
参考:https://router.vuejs.org/en/essentials/named-routes.html