使用 vue-router 超链接来自 API 的 table 数据

Hyperlinking table data from API with vue-router

我正在接收并显示来自 API (https://restcountries.com/) 的数据,但我无法超linking 其每个 table 条目带有 router-link 标签的自己的页面。没有任何反应,没有错误,没有 linked 文本。

<template>
    <div>
        <b-table responsive head-variant="dark" striped hover :items="countries" :fields="headings">
            <template #cell(name)="data">
                <router-link :to="{name: 'country', params: {country: country.name.official}}">
                    {{ data.value }}
                </router-link>
            </template>
        </b-table>
    </div>
</template>

<script>
import axios from '@/config'

export default {
    name: 'AllCountries',
    components: {},
    data() {
        return {
            headings: [
                {
                    key: 'name.common',
                    sortable: true
                },
                {
                    key: 'capital',
                    sortable: true
                },
            ],
            countries: []
        }
    },
    mounted() {
        axios.get('/all')
        .then(response => {
            console.log(response.data)
            this.countries = response.data
        })
        .catch(error => console.log(error))
    }
}
</script>

如果我从键 'name' 中删除 .common,router-link 可以工作,但它会显示国家名称的所有变体,而不仅仅是一个 'common' 名称我想要的。此外,如果删除 .common,router-link 将无法正常工作,如此处所示,我会收到以下错误:

“类型错误:无法读取未定义的属性(读取 'name')” “属性 或方法“国家/地区”未在实例上定义,但在渲染期间被引用。”

虽然我在其他地方没有用这个确切的路由器得到这些错误-link,并且 'name' 没有在那些文件中定义),但我得到路由器的唯一方法- link 到 link 与这些参数有关:{ id: data.item._id }(虽然它 link 什么都没有(它试图 link 到 '/undefined?fullText=true' ))

router-link 的参数应该是 params: { country: data.item.name.official }}