首页 > 解决方案 > 访问某些路线时是否可以进行迷你(软)重新加载?

问题描述

所以我有 if else 语句,它查看 URL 的末尾以确定要提供哪些答案。(这是一个简单的测验小部件)。现在它按预期工作,但是当我从一个问题继续到下一个问题时,答案与上一个问题相同,直到我移动滑块选择答案。我希望能够在我访问下一个问题时自动更新答案。要么通过某种软重新加载,要么我实际上不知道这就是我在这里问的原因。

TY 的所有帮助。

标签: javascriptif-statementvue.jsvue-routerreload

解决方案


一般来说,您需要根据您的 URL 构建应用程序逻辑。

在您的路由器中:

const router = new VueRouter({
  routes: [
    { path: '/quiz/:id', component: Quiz }
  ]
})

在您的测验组件中,您需要定义计算属性:

data: function() {
    return {
        questions: ['First q', 'Second q'],
        answers: [....]
    }
},
computed: {
    currentQuestion() {
        const qID = parseInt(this.$route.params.id, 10);
        if (qID >= 0) {
            return this.questions[qId];
        }
        return '';
    },
    currentAnswers() {
        const qID = parseInt(this.$route.params.id, 10);
        if (qID >= 0) {
            return this.answers[qId];
        }
        return '';
    }
}

转向一个新问题可能就像 router.push({ name: 'quiz', params: { id: '123' } })


推荐阅读