简单的vue2 + vue-router + vuex + iview 入门项目,一个移动端平台的简易考试系统。灵感来源于近期工作项目中开发的一套考试平台系统。欢迎大家来issues指出错误共同进步。

项目运行

# 克隆到本地
git clone https://github.com/webproblem/vue-demo.git
# 进入项目
cd vue-demo
# 安装依赖
npm install,可以使用cnpm代替npm
#运行项目
npm run dev

项目文件说明

主要是src文件夹。

  • data: 模拟的数据
  • page: 存放的vue组件页面
  • router: vue路由文件
  • store: vuex状态管理文件
  • utils: 公共的工具函数

功能描述及实现

可以通过设置不同的路由参数来切换不同的考试试题

<div class="button-group"><span><router-link :to="{name: 'exam1', query: {id: 1}}">考试试题一</router-link></span><span><router-link :to="{name: 'exam1', query: {id: 2}}">考试试题二</router-link></span>
</div>

在src/data目录下的模拟数据中,配置好考试试题和考试时长等信息。

/*** @param {Number} examTime 考试时长* @param {String} title 题目内容* @param {Array} options 答案选项* @param {Number} answer 正确答案索引,从0开始* @param {Number} score 题目对应的分数* @param {String} examId 题目唯一ID
*/export const examTime = 30;export const examList = [{title: "《春晓》这首诗是出自哪位诗人?",options: ["李白", "杜甫", "王维", "苏轼"],answer: 1,score: 5,examId: "0"}
]

然后运行项目,进入首页就可以选择试卷答题了!!!

在考试时间结束的时候,系统会自动提交答题试卷,或者在答完所有题的时候,手动点击提交试卷,系统会根据答题情况给出相应的考试结果。(还有一些细节没有考虑进去,后期可以添加查看答错题目的功能等)

<template><div class="exam-result"><div class="scores-container"><div class=""><header class="scores">{{getScore}}分</header><label class="result-tips">{{resultTips}}</label></div></div></div>
</template><script>
import {mapState, mapMutations} from 'vuex'export default {data () {return {//答错的题errorExam: [],//答对的题sureExam: [],//总分totalScore: 0,//得分getScore: 0,resultTips: "",examList: []}},computed:mapState(['saveAnswer','useTime','examId']),mounted () {const vm = this;vm.examList = vm.$store.state.examList[this.examId - 1] || [];vm.getSureAnswer();},methods: {getSureAnswer() {var vm = this;vm.examList.forEach(function(item, index){vm.totalScore += parseInt(item.score);if((item.answer + 1) == vm.saveAnswer[index]){vm.sureExam.push(item);vm.getScore += parseInt(item.score);}else{vm.errorExam.push(item);}})vm.setResultTips();console.log(this.useTime)console.log("答对题:" + vm.sureExam.length);},setResultTips() {const scores = [100 ,90, 70, 60, 40, 20],tips = ['哇,你太优秀了,厉害了!!!','智商只差一步就爆表了,继续加油!','表现很好,good!','嗯,不错,还有很大的进步空间!','还需要继续加油哦!!!','What are you弄啥嘞!'];if(this.getScore <= scores[5]) {this.resultTips = tips[5];return;}if(this.getScore <= scores[4]) {this.resultTips = tips[4];return;}if(this.getScore <= scores[3]) {this.resultTips = tips[3];return;}if(this.getScore <= scores[2]) {this.resultTips = tips[2];return;}if(this.getScore <= scores[1]) {this.resultTips = tips[1];return;}if(this.getScore <= scores[0]) {this.resultTips = tips[0];return;}}}
}
</script>

本教程是基于已经有一定vue基础之上的,如果你还不了解什么是vue建议先去学习一下。友情链接:
vue中文官网
vuex文档
vue-router文档
欢迎大家star和issues。
源码地址:
https://github.com/webproblem/vue-demo

vue2 + vue-router + vuex + iview 入门项目相关推荐

  1. Vue+Vue Router+Vuex页面演示

    Vue+Vue Router+Vuex简单页面演示 1.目录结构(使用vue-cli创建) 2.编写代码 src/router/index.js import Vue from "vue&q ...

  2. Vue 2.0 + Vue Router + Vuex 后台管理系统的骨架

    https://github.com/helloyoucan/ba 用 Vue.js 2.x 与相配套的 Vue Router.Vuex 搭建了一个最基本的后台管理系统的骨架. 当然先要安装 node ...

  3. Vue.js + Vuex + TypeScript 实战项目开发与项目优化

    技术栈: Vue.js + Vuex + TypeScript Todo List: 使用Vue CLI初始化项目 调整初始目录结构 删除初始化的默认文件(对于我们项目是多余的组件components ...

  4. vue router 参数_Vue.js项目开发技术解析

    Vue.js项目开发技术解析 一.Vue.js实例 在一个Vue.js工程中,用于显示内容最基层的实例称之为根实例.通过该实例可以进行页面或组件的更新和显示.对于项目本身而言,无论是什么样的页面,都要 ...

  5. Vue Router 4 快速入门

    现在我们安装 vue-router 版本的时候,默认还是安装的 3.x 版本的,由于 vue3 的更新发生很大的变化,所以为了兼容处理,vue-router 也将发布最新版 4.x 版本了. 安装注册 ...

  6. vue3.0+vuex+typescript 入门项目描述

    先写仓库地址:https://gitee.com/orderkk/vuex-vue3.0-ts.git 项目目录介绍: 目录介绍: assets: 存放静态文件资源 components: 存放组件文 ...

  7. Vue3中的Vue Router初探

    对于大多数单页应用程序而言,管理路由是一项必不可少的功能.随着新版本的Vue Router处于Alpha阶段,我们已经可以开始查看下一个版本的Vue中它是如何工作的. Vue3中的许多更改都会稍微改变 ...

  8. VueJS 官方路由之 Vue Router

    文章目录 参考 描述 Vue Router 获取 npm yarn 依赖问题 使用 router-link router-view 配置路由插件 基本结构 子组件 导入需要进行路由匹配的组件 定义路由 ...

  9. vue(vue-cli+vue-router)+babel+webpack项目搭建入门(三)

    vue(vue-cli+vue-router)+babel+webpack项目搭建入门<三> 本系列文章将介绍基于vue+webpack的前端项目的构建过程.文章分为四章内容,第一章介绍开 ...

最新文章

  1. 计算机将成为学生们的老师英语,重庆英语教师
  2. CodeForces - 906E Reverses(回文自动机+Palindrome Series优化dp)
  3. Ninject使用demo
  4. python3 定时任务_Python3.x:定时任务实现方式
  5. phoshop cs6软件提示试用版已过期,怎么办
  6. git将本地仓库强制替换掉远程仓库
  7. 通过SecureCRT工具从远程Linux服务器下载文件到本地Windows
  8. 【视觉SLAM14讲】【汇总】
  9. vue 处理跨域问题及解决方法小结
  10. Effective Java目录
  11. 在VS2017中添加WTL窗口
  12. js多重循环遍历渲染
  13. args 打印输出argparse.ArgumentParser()的所有选项和默认值
  14. Python代码画小鸭穿雨靴--turtle绘图
  15. Hadoop安装准备
  16. android qq右上加号,Android 模拟QQ空间小加号+用popupWindow制作spinner
  17. 树莓派USB存储设备自动挂载并通过脚本实现自动拷贝,自动播放视频,脚本自动升级等功能...
  18. Offer拿到了!2023届校招继续投!
  19. 可信计算和可信赖计算的渊源
  20. 计算机图像处理相关论文,计算机图像处理技术论文

热门文章

  1. IT兄弟连 JavaWeb教程 Servlet转发
  2. Hessian的使用以及理解(转)
  3. 薪资留人还是情感留人?
  4. struts2类型转换器
  5. python基础之协程,列表生成式,生成器表达式
  6. typedef函数指针用法
  7. [C++] Lvalue and Rvalue Reference
  8. 笔记本win7共享wifi操作说明
  9. 物联网概念升级,万物互联来袭
  10. [JDBC技术]3.JDBC数据库连接池实例