访问某些路线时是否可以进行迷你(软)重装?

问题描述 投票:1回答:1

所以我有if else语句,查看URL的结尾以确定要提供的答案。 (这是一个简单的测验小部件)。现在它按预期工作,但当我从问题进入下一个问题时,答案与最后一个问题相同,直到我移动滑块选择答案。我希望能够在我访问下一个问题时自动更新答案。要么做一些软重装,要么我实际上不知道这就是为什么我在这里问。

TY提供所有帮助。

javascript if-statement vue.js vue-router reload
1个回答
0
投票

一般而言,您需要根据您的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' } })

© www.soinside.com 2019 - 2024. All rights reserved.