1

我正在尝试将数据从组件传递到 $route.params.post 但在某处它失败了,我不知道如何让它工作。

在我的组件中,我router-link用来转到路由文件中的特定路径,但它没有路由到指定的组件。

// Component.vue

<router-link :to="{ path: 'replies', params: { post: postId }}">
    <div class="button is-light is-small has-replies" @click=" postId = thread.no ">Replies</div> 
    //clicking replies will push the thread number to data and load it into the params
</router-link>

export default {
    data () {
        return {
            postId: null
        }
    }
}

// ./routes/index.js

import Replies from '../components/Replies'

routes: [
    { path: '/', component: Frontpage },
    { path: '/replies/:post', component: Replies }
]

单击该按钮应打开 Replies 组件,其路线看起来像/replies/#,但它只是加载一个空白页面并完全忽略该组件。我正在导入vuex-router-sync我的main.js,但我不知道这是否是问题,但我很清楚这很可能是因为我不完全确定我vuex-router-sync是否正确使用。

4

1 回答 1

2

您可以像下面这样尝试,因为postId它不是 URL 参数,而是 URL 本身的一部分:

<router-link :to="'replies/'+ postId'">
    <div class="button is-light is-small has-replies" @click=" postId = thread.no ">Replies</div> 
    //clicking replies will push the thread number to data and load it into the params
</router-link>
于 2016-11-20T02:41:49.517 回答