返回

携手Vue3.0与Vue-router:体验问卷答题的流畅与结果揭晓的惊喜

前端

导语

在上一篇文章中,我们共同迈出了Vue3.0实战之旅的第一步,构建了一个简单的问卷调查页面。而今天,我们将继续前进,借助Vue-router路由这一利器,实现点击提交按钮后携带问卷结果跳转到一个新的“问卷结果”页面,让用户能够直观地看到他们的选择所带来的结果。

引入Vue-router

首先,我们需要将Vue-router引入我们的项目。在终端中执行以下命令:

npm install vue-router

安装完成后,在main.js文件中引入Vue-router并将其安装到Vue实例中:

import VueRouter from 'vue-router'

Vue.use(VueRouter)

const routes = [
  {
    path: '/',
    component: Home
  },
  {
    path: '/result',
    component: Result
  }
]

const router = new VueRouter({
  routes
})

new Vue({
  router
}).$mount('#app')

在上面的代码中,我们定义了两个路由:一个是根路由“/”,另一个是“/result”路由,它将用于显示问卷结果。

创建“问卷结果”组件

接下来,我们需要创建一个“问卷结果”组件,该组件将用于显示问卷结果。在src/components目录下创建一个名为Result.vue的文件,并在其中添加以下代码:

<template>
  <div>
    <h1>问卷结果</h1>
    <ul>
      <li v-for="question in questions">{{ question.text }}: {{ question.answer }}</li>
    </ul>
  </div>
</template>

<script>
export default {
  props: ['questions'],
  data() {
    return {
      // ...
    }
  }
}
</script>

在这个组件中,我们定义了一个名为questions的prop,它将用于接收从问卷调查页面传递过来的问卷结果。然后,我们在组件中使用v-for循环来遍历questions数组,并以列表的形式显示每个问题的文本和答案。

在问卷调查页面中使用Vue-router

现在,我们需要在问卷调查页面中使用Vue-router来实现点击提交按钮后跳转到“问卷结果”页面。在src/views/Home.vue文件中,找到提交按钮的代码,并将其修改为以下内容:

<button @click="submit">提交</button>

在上面的代码中,我们使用了Vue-router的router-link组件来实现路由跳转。当用户点击提交按钮时,就会触发submit方法,并将问卷结果作为参数传递给路由器。然后,路由器将根据路由配置跳转到“/result”路由,并加载Result组件。

结语

通过这次实战,我们掌握了如何使用Vue-router来实现路由跳转,从而让用户在完成问卷调查后能够看到他们的选择所带来的结果。这使我们的问卷调查应用更加友好和易用。在接下来的文章中,我们将继续深入探索Vue3.0和Vue-router的更多特性,敬请期待!