index.vue 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. <template>
  2. <component :is="currentComponent" @next="next" v-model:userTestData="userTestData"></component>
  3. </template>
  4. <script lang="ts" setup>
  5. import initMockTest from "./components/initMockTest.vue";
  6. import mockTestEnd from "./components/mockTestEnd.vue";
  7. import startTest from "./components/startTest.vue";
  8. import { useRouter } from "vue-router";
  9. import { ref, reactive } from "vue";
  10. const router = useRouter();
  11. const vehicle = useRouter().currentRoute.value.query.vehicle as string; //路由qvehicle参数
  12. const subject = useRouter().currentRoute.value.query.subject as string; //路由subject参数
  13. const userTestData = ref({
  14. testScores: 0,
  15. useTime: 0,
  16. });
  17. //清除错题的缓存
  18. window.localStorage.setItem(vehicle+subject,"[]");
  19. const currentComponent = ref<any>(initMockTest);
  20. const comIndex = ref(0);
  21. const next = () => {
  22. comIndex.value = (comIndex.value + 1) % 3;
  23. switch (comIndex.value) {
  24. case 0:
  25. currentComponent.value = initMockTest;
  26. break;
  27. case 1:
  28. currentComponent.value = startTest;
  29. break;
  30. case 2:
  31. currentComponent.value = mockTestEnd;
  32. break;
  33. }
  34. };
  35. </script>
  36. <style scoped lang="scss"></style>