VueJs动态地将数据绑定到路由

时间:2018-02-27 05:02:33

标签: vue.js vue-router

我有一个包含所有问题文件ID的对象,我也将这些ID呈现给一个表格。 当有人点击Take Exam按钮时,需要什么 相关的paperid应该传递给路线。 我试过了

this.$router.push('/startExam/{{paperid}}');

this.$router.push('/startExam/this.paperid');

但两者都不起作用。 如何动态地将数据传递到路由? 我的代码在这里。

<tbody>
      <tr v-for="paperid in QuestionPapersArray">
        <td>{{paperid}}</td>
        <td></td>
        <th></th>
        <th><button class="btn" @click="takeExam">Take Exam</button></th>
      </tr>
</tbody>

methods:{
    takeExam(){
      console.log("Inside the function");
      this.$router.push('/startExam');
    }
  }

1 个答案:

答案 0 :(得分:0)

<tbody>
      <tr v-for="paperId in QuestionPapersArray">
        <td>{{ paperId }}</td>
        <td></td>
        <th></th>
        <th><button class="btn" @click="takeExam(paperId)">Take Exam</button></th>
      </tr>
</tbody>

请尝试以下操作。

methods: {
  takeExam (paperId) {
    this.$router.push(`/startExam/${paperId}`)
  }
}  

或者,您可以在takeExam()方法

中尝试以下操作
this.$router.push({
  path: '/startExam',
  params: {
    id: paperId
  }
})

您的路线配置文件应为path: '/startExam/:id'