访问某些路线后,是否可以进行迷你(软)装弹?

时间:2019-04-25 18:09:05

标签: javascript if-statement vue.js vue-router reload

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

TY获得所有帮助。

1 个答案:

答案 0 :(得分: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' } })