vue3考试系统怎么实现一个按钮一道选择题以此类推
时间: 2024-02-01 09:04:20 浏览: 84
实现一个按钮一道选择题,可以采用以下步骤:
1. 创建一个包含题目和选项的数据结构,例如:
```js
const question = {
title: '以下哪个不是 JavaScript 数据类型?',
options: ['string', 'number', 'boolean', 'array'],
answer: 3 // 答案的索引
}
```
2. 在组件中使用 `v-for` 指令渲染选项按钮:
```html
<template>
<div>
<h2>{{ question.title }}</h2>
<ul>
<li v-for="(option, index) in question.options" :key="index">
<button @click="selectOption(index)">{{ option }}</button>
</li>
</ul>
</div>
</template>
```
3. 定义 `selectOption` 方法,记录用户选择的答案,并判断答案是否正确:
```js
export default {
data() {
return {
question: {
title: '以下哪个不是 JavaScript 数据类型?',
options: ['string', 'number', 'boolean', 'array'],
answer: 3
},
selectedOption: null, // 用户选择的选项
isCorrect: null // 答案是否正确
}
},
methods: {
selectOption(index) {
this.selectedOption = index
this.isCorrect = index === this.question.answer
}
}
}
```
4. 根据 `isCorrect` 的值显示不同的提示信息:
```html
<template>
<div>
<h2>{{ question.title }}</h2>
<ul>
<li v-for="(option, index) in question.options" :key="index">
<button @click="selectOption(index)">{{ option }}</button>
</li>
</ul>
<p v-if="selectedOption !== null">
{{ isCorrect ? '恭喜你,答对了!' : '很遗憾,答错了。' }}
</p>
</div>
</template>
```
以上就是一个简单的按钮选择题的实现。如果有多道题目,可以在组件中定义一个题目列表,并在 `selectOption` 方法中判断当前是否为最后一道题,如果是,则显示总分数。
阅读全文