【发布时间】:2020-03-23 19:28:46
【问题描述】:
您好,我正在尝试使用 Vue.js router-link 将参数动态传递给组件。我收到一个浏览器错误,提示未定义参数,即使路由器 URL 使用参数正确显示也是如此。组件也被渲染,但数据似乎无法在组件中作为属性或数据元素访问。
这是我的带有路由器链接的表:
<sui-table-row v-for="(player, i) in allPlayers" :key="i">
<sui-table-cell>{{player.league}}{{i+1}}</sui-table-cell>
<sui-table-cell>{{ player.player1 }}&{{player.player2}}</sui-table-cell>
<sui-table-cell selectable v-for="(week, j) in allDates" :key="j">
<router-link :to="{ name: 'addWeek', params: {team1: player._id } }">
{{player.schedule[j]}}
</router-link>
</sui-table-cell>
</sui-table-row>
Routes.js
import AddWeek from '@/views/admin/addWeek.vue';
const routes = [{
path: '/ncl-schedule/addWeek/:team1',
name: 'addWeek',
component: AddWeek
}]
export default routes
我在这里遇到两个问题:
1:Chrome 抛出以下错误:
[vue-router] 缺少命名路由“addWeek”的参数:需要定义“team1”
这很奇怪,因为我将团队 id 作为路由上的参数传递,它把我带到了 AddWeek 组件,正如我所期望的那样。
http://localhost:8080/ncl-schedule/addWeek/5e6bc31785aa8e5ab4575d80
2:但是,我无法将数据作为组件中的属性或数据元素获取。
【问题讨论】:
标签: vue.js vuejs2 vue-component vue-router