我使用Vue.Js进行调查,这基本上是应用程序的主要部分和目的。我遇到导航问题。我的上一个按钮不起作用,下一个按钮继续循环,而不是继续下一个问题。我试图完成的只是一次只显示一个问题,并使用next和prev按钮以正确的顺序浏览它们,并存储每个输入的值,以后我将使用它们来计算输出在结果页面上,在调查结束后。我上传了一小段代码,只用两个问题来展示问题。 https://jsfiddle.net/cgrwe0u8/通过Vue.Js调查导航
new Vue({
el: '#quizz',
data: {
question1: 'How old are you?',
question2: 'How many times do you workout per week?',
show: true,
answer13: null,
answer10: null
}
})
document.querySelector('#answer13').getAttribute('value');
document.querySelector('#answer10').getAttribute('value');
HTML
<script src="https://unpkg.com/vue"></script>
<div id="quizz" class="question">
<h2 v-if=show>{{ question1 }}</h2>
<input v-if=show type="number" v-model="answer13">
<h2 v-if="!show">{{ question2 }}</h2>
<input v-if="!show" type="number" v-model="answer10">
<br>
<div class='button' id='next'><a href='#' @click="show = !show">Next</a></div>
<div class='button' id='prev'><a href='#' @click="show = show">Prev</a>
</div>
</div>
提前感谢!
是的,我必须修改组件中的模板,因为对于不同的问题我需要不同的输入。输入文本,单选按钮,选择表格等等。所以我不认为我可以使用v-model =“question.answer”来获得答案。也许使用querySelectorAll()来获得所有答案?我对JS和Vue.Js不是很有经验,所以我不确定解决这个问题的最好方法是什么。 – Pitagora
你想用答案做什么?显示它们或将它们发送到服务器? – Stephen
我想显示一个输出取决于使用方程的答案。现在我试图在问题中添加输入类型,以便我可以操纵输入方法。我能做到这一点吗?现在不行。这是尝试的小提琴,给你一个想法。 https://jsfiddle.net/cgrwe0u8/4/ – Pitagora