我在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

09-15 12:58