Я использую vue router-link для передачи courseId и quizId в Quiz Component. Когда компонент Quiz инициализируется, он получает courseId и quizId в create () через this.$router.params.
Параметры получены в первой попытке , но когда я refre sh страницы, параметры quizId устанавливаются на NaN . Также в URL-адресе компонента передается только courseId , тогда как quizId равен NaN . Я не понимаю, в чем именно проблема. Я выложу код ниже.
маршруты :
const routes = [
{
path: '',
component: Course,
name:'ViewCourse'
},
{
path: '/module/:course_id/:module_id',
component: Module,
name: 'ViewModule'
},
{
path: '/:course_id/:quiz_id',
component: Quiz,
name: 'QuizModule'
},
{
path: '/:course_id/:unit_id/:quiz_id',
component: QuizInstructions,
name: 'QuizInstructions'
}
]
QuizInstructions:
<router-link :to="{name: 'QuizModule', params: {course_id: courseId, quiz_id: quiz.id}}" class="btn btn-primary">Start Quiz</router-link>
Викторина :
created () {
const courseId = parseInt(this.$route.params.course_id)
const quizId = parseInt(this.$route.params.quiz_id)
// This condition fails as quizId is NaN on page refresh
if (courseId && quizId){
this.fetchQuestions(courseId, quizId)
}
},
Пожалуйста, помогите мне понять, что я делаю неправильно. Раньше это работало до сих пор, оно ломается, и я не могу найти проблему. Пожалуйста, скажите мне, если требуется больше контента. Я разместил только код, который, по моему мнению, вызывает проблему.
Спасибо.
Редактировать : проблема решена. Я случайно сделал router.pu sh () в одном из действий vuex, которое привело к установке quizId как NaN. Это потому, что я вставил неверную неопределенную переменную в URL.