当前位置:首页 > VUE

vue实现填空

2026-03-27 12:04:50VUE

Vue 实现填空题功能

在 Vue 中实现填空题功能可以通过数据绑定和动态渲染来实现。以下是一种常见的实现方式:

数据准备

定义题目数据,包含题干和填空位置:

data() {
  return {
    questions: [
      {
        text: 'Vue 是一个 __1__ 框架,由 __2__ 开发',
        blanks: ['', '']
      }
    ]
  }
}

模板渲染

使用 v-for 循环渲染题目,并用 v-model 绑定填空输入:

<div v-for="(question, qIndex) in questions" :key="qIndex">
  <p v-html="renderQuestion(question)"></p>
  <div v-for="(blank, bIndex) in question.blanks" :key="bIndex">
    <input v-model="question.blanks[bIndex]" placeholder="请输入答案">
  </div>
</div>

处理方法

添加方法处理题干渲染和答案验证:

methods: {
  renderQuestion(question) {
    let parts = question.text.split(/__\d+__/);
    let result = '';
    parts.forEach((part, index) => {
      result += part;
      if (index < parts.length - 1) {
        result += `<span class="blank">${question.blanks[index] || '______'}</span>`;
      }
    });
    return result;
  },

  checkAnswers() {
    const correctAnswers = ['JavaScript', '尤雨溪'];
    this.questions[0].blanks.forEach((answer, index) => {
      if (answer === correctAnswers[index]) {
        console.log(`第 ${index + 1} 空正确`);
      } else {
        console.log(`第 ${index + 1} 空错误`);
      }
    });
  }
}

样式增强

添加 CSS 美化填空题样式:

.blank {
  display: inline-block;
  min-width: 80px;
  border-bottom: 1px solid #333;
  margin: 0 5px;
  text-align: center;
}

input {
  margin: 10px 0;
  padding: 5px;
  border: 1px solid #ddd;
  border-radius: 4px;
}

动态填空题

如果需要更动态的填空题生成,可以使用正则表达式匹配:

vue实现填空

generateBlanks(text) {
  const blankRegex = /__\d+__/g;
  const blankCount = (text.match(blankRegex) || []).length;
  return Array(blankCount).fill('');
}

这种实现方式允许灵活地定义填空题,支持多个填空位置,并能方便地验证用户输入。可以根据实际需求调整样式和交互逻辑。

标签: vue
分享给朋友:

相关文章

vue的动画实现

vue的动画实现

Vue 动画实现方式 Vue 提供了多种方式实现动画效果,主要通过内置组件和第三方库支持。 使用 Vue 内置过渡组件 Vue 的 transition 和 transition-group 组件可…

vue前端实现登录

vue前端实现登录

实现登录功能的基本流程 使用Vue实现登录功能需要结合前端框架和后端API交互。以下是一个典型的实现方案: 安装必要依赖 确保项目已安装axios用于HTTP请求: npm install axi…

vue原理实现

vue原理实现

Vue 原理实现的核心机制 Vue.js 的核心原理基于响应式系统、虚拟 DOM 和模板编译。以下是其核心实现机制的分解: 响应式系统 Vue 使用 Object.defineProperty(Vu…

vue实现波形

vue实现波形

实现波形效果的方法 在Vue中实现波形效果可以通过多种方式完成,常见的方法包括使用Canvas绘制、CSS动画或第三方库。以下是几种实现方案: 使用Canvas绘制波形 通过Canvas API动态…

vue实现开关

vue实现开关

Vue 实现开关组件的方法 使用原生HTML和Vue数据绑定 通过v-model绑定复选框的checked状态,结合CSS样式实现开关效果: <template> <label…

利用vue 实现

利用vue 实现

以下是利用 Vue 实现常见功能的几种方法,分为不同场景和技术要点: 数据绑定与响应式更新 Vue 的核心特性是数据绑定,通过 v-model 实现双向绑定: <template>…