位置: IT常识 - 正文

【蓝桥杯Web】第十四届蓝桥杯Web模拟赛 3 期 | 精品题解(上)(蓝桥杯b组2020)

编辑:rootadmin
【蓝桥杯Web】第十四届蓝桥杯Web模拟赛 3 期 | 精品题解(上)

推荐整理分享【蓝桥杯Web】第十四届蓝桥杯Web模拟赛 3 期 | 精品题解(上)(蓝桥杯b组2020),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:蓝桥杯2022,蓝桥杯2021年,蓝桥杯2021年,蓝桥杯b组2021,蓝桥杯资料,蓝桥杯答疑,蓝桥杯资料,蓝桥杯2022,内容如对您有帮助,希望把文章链接给更多的朋友!

🧑‍💼 个人简介:一个不甘平庸的平凡人🍬 🖥️ 蓝桥杯专栏:蓝桥杯题解/感悟 🖥️ TS知识总结:十万字TS知识点总结 👉 你的一键三连是我更新的最大动力❤️! 📢 欢迎私信博主加入前端交流群🌹

📑 目录🔽 前言1️⃣ 网页PPT2️⃣ 西游记之西天取经3️⃣ 商品销量和销售额实时展示看板4️⃣ 蓝桥校园一卡通5️⃣ 会员权益领取中心6️⃣ 心愿便利贴7️⃣ 消失的 Token8️⃣ 封装 Promisefy 函数🔼 结语🔽 前言

好久没更新了,今天上线收到了很多小伙伴的私信,发现有很多朋友正在准备蓝桥杯,问我要不要出几天前开放的模拟赛 3 期的解析,其实这一期的模拟赛刚开始时我就知道了,但根据以往CSDN平台的限制以及我确实没想到会有这么多人想看,于是就没第一时间出。

看到了大家的催更后,我想着就发一下试试吧,希望能顺利发出,话不多说,开干!

由于篇幅有限,这次题解将分为上下两篇,这一篇先讲本科组的前八题,下一篇中我们再讲本科组的最后两题和职业院校组中和本科组不一样的题。

1️⃣ 网页PPT

使用简单的JQuery就能实习:

function switchPage() { // TODO: 请补充该函数,实现根据activeIndex切换页面的功能,并且在到达最后一页或第一页时给相应的按钮添加disable类 // 1. 设置指定页面显示 $("section").each((index, item) => { $(item).css("display", index !== activeIndex ? "none" : "block"); }); // 2. 修改页码 $(".controls .page").text(`${activeIndex + 1} / 5`); // 3. 根据情况修改按钮的class if (activeIndex === 0) { $(".btn.left").addClass("disable"); } else if (activeIndex === sectionsCount - 1) { $(".btn.right").addClass("disable"); } else { $(".btn.left").removeClass("disable"); $(".btn.right").removeClass("disable"); }}2️⃣ 西游记之西天取经

考察CSS3动画属性,题目中说动画只动一次就会停下来,这明显是没有设置动画的animation-iteration-count(动画执行次数)导致的,所以想要让动画无限循环起来,只需要为每个animation复合属性添加infinite(无限循环)即可:

/* TODO 填空 */animation: a3 0.8s steps(8) infinite ; 3️⃣ 商品销量和销售额实时展示看板

考查echarts的基础使用,挺简单的,直接上代码:

// TODO:补全 `yAxis` 的设置,要求“销售额”(即,配置项 `name`)的位置(即,配置项 `position`)在图表的左侧,“销量”(即,配置项 `name`)的位置(即,配置项 `position`)在图表的右侧。yAxis: [{ type: 'value', name: '销售额', position: 'left',},{ type: 'value', name: '销量', position: 'right',}],// TODO:补全代码,正确给 X 轴的时间,以及 Y 轴的商品的销售额 saleObj 和销量赋值 countObj。charData.xAxis.data = Object.keys(result.data.countObj); // 获得由全部key组成的数组charData.series[0].data = Object.values(result.data.saleObj); // 获得由全部value组成的数组charData.series[1].data = Object.values(result.data.countObj);4️⃣ 蓝桥校园一卡通

考察一些简单的正则与表单验证,这里我封装了一个validate函数专门用来验证输入与控制DOM:

submit.onclick = () => { // TODO 待补充代码 /** * 用于验证输入并控制相关DOM操作 * @param {RegExp} reg 用于检验文本的正则 * @param {Element} inputNode input元素 * @param {String} parentNodeClass 需要给父节点添加的类名 * @param {String} errorNodeId 错误信息节点的id * @return {*} */ function validate(reg, inputNode, parentClass, errorId) { const parentElement = inputNode.parentElement // 获取父元素 const errorElement = parentElement.querySelector('#' + errorId) // 获取错误信息元素 let result = false // 是否通过验证 if (!reg.test(inputNode.value)) { // 输入不匹配 parentElement.classList.add(parentClass) // 给父节点添加class errorElement.style.display = 'block' // 显示错误信息 } else { // 输入匹配 parentElement.classList.remove(parentClass) // 移除父节点class errorElement.style.display = 'none' // 隐藏错误信息 result = true } return result } // 姓名 let regName = /^[\u4e00-\u9fa5]{2,4}$/g const nameVail = validate(regName, studentName, 'has-error', 'vail_name') if (!nameVail) { return } // 学号 let regStuId = /^\d{1,12}$/g const stuIdVail = validate(regStuId, studentId, 'has-error', 'vail_studentId') if (!stuIdVail) { return } item[0].innerHTML = studentName.value item[1].innerHTML = studentId.value item[2].innerHTML = college.value // 添加 showCard 类显示放大一卡通的动画,请勿删除 cardStyle.classList.add('showCard')}5️⃣ 会员权益领取中心

每次蓝桥杯的题中都会有一道这种仿页面的题,没啥技术含量,就是纯体力活,这里就不贴代码了。大家在考试的时候切记不要浪费太多时间在这道题上,很容易吃力不讨好。

6️⃣ 心愿便利贴【蓝桥杯Web】第十四届蓝桥杯Web模拟赛 3 期 | 精品题解(上)(蓝桥杯b组2020)

这题主要考察了element-ui表单验证,根据代码中的提示发现有两处需要修改。

一是,题中给出的代码中v-for遍历的是一个空数组v-for="(item,index) in []" ,我们需要找到存放数据的数据来替换这个空数组,翻到下面的提交方法onSubmit中很容易发现数据存放在wishList中,所以:

<!-- TODO 待修改的代码 --><div class="card" :class="item.css" v-for="(item,index) in wishList" ...

二是,需要补充rules中的验证规则:

rules: {// TODO 待补充验证的代码name: [{ required: true, message: '请输入姓名', trigger: 'blur' },{ min: 2, max: 4, message: '长度在 2 到 4 个字符', trigger: 'blur' }],content: [{ required: true, message: '请输入许愿内容', trigger: 'blur' },{ min: 1, max: 30, message: '长度在 1 到 30 个字符', trigger: 'blur' }],},

每条规则的key对应的是el-form-item上的prop属性,根据题目的示例,这两天规则很容易写出,这里就不多说了。

7️⃣ 消失的 Token

考察Vuex的使用,题目中明确说了:“仔细阅读 store 文件夹下的相关代码并结合 Vuex 相关知识,排查代码中存在的问题”。

所以我们应该先去看一下Vuex相关的代码,在UserModule.js中会发现UserModule这个模块开启了命名空间:

UserModule.js

const UserModule = { namespaced: true, // 开启了命名空间 ...

index.js中是通过user字段来引入UserModule的: index.js

const store = new Vuex.Store({ modules: { base: BaseModule, user: UserModule, // 注意 },})

所以在使用UserModule模块的内容时就需要注意要通过命名空间user来引用,之后检查index.html就很容易发现问题所在了:

// TODO 修改下面错误代码var app = new Vue({ el: '#app', data() {}, computed: { welcome() { return store.getters.welcome }, username() { return store.getters['user/username'] // 修改处:通过命名空间引用 }, token() { return store.getters['user/token'] // 修改处:通过命名空间引用 } }, methods: { // 回车/点击确认的回调事件 login(username) { // 修改处:通过命名空间引用 username && store.commit('user/login', { username, token: 'sxgWKnLADfS8hUxbiMWyb' }) username && store.commit('say', '登录成功,欢迎你回来!') } }})8️⃣ 封装 Promisefy 函数

考查了promise的使用,在题中我们很容易发现promisefy有以下几个需求:

需要返回一个函数,并且返回的这个函数还需要返回一个promisepromisefy接收的fn参数是个函数,它最后一个参数是个回调函数,回调函数的第一个参数代表 err 信息,第二个参数代表成功返回的结果。

代码:

const promisefy = (fn) => { // TODO 此处完成该函数的封装 return (...arg) => { // 使用剩余参数arg收集所传递的实参 return new Promise((resolve, reject) => { // 将arg解构传递给fn fn(...arg, (err, contrast) => { if (err) { // err存在代表fn运行出错了,调用reject将promise的状态转换为rejected并传递err,此时该promise的catch方法将捕捉到该err错误 reject(err) } // 如果代码运行到这说明没出错,调用resolve将promise的状态转换为fulfilled并传递contrast,此时该promise的then方法将捕捉到该contrast信息 resolve(contrast) }) }) }}

上面代码也挺简单的,需要注意的一点就是promise的状态一旦改变就不能再次改变了,所以上面代码中如果先调用了reject,则后面的resolve调用就不再起作用了,所以在if语句中不需要加return来阻断后续代码的执行。

🔼 结语

距离第十四届蓝桥杯的正式比赛还有不到一个月的时间,好好复习,祝大家都能在正式比赛中取得满意的成绩!

如果本篇文章对你有所帮助,还请客官一件四连!❤️

本文链接地址:https://www.jiuchutong.com/zhishi/298386.html 转载请保留说明!

上一篇:查询数据库空间(mysql和oracle)(如何查询数据库表空间)

下一篇:Vue3实战教程(快速入门)(vue3官方教程)

  • 华为nova9怎么锁定应用(华为nova9怎么锁定应用不退出)

    华为nova9怎么锁定应用(华为nova9怎么锁定应用不退出)

  • 苹果13键盘下面空白怎么去掉(苹果13键盘下面灰色怎么去掉)

    苹果13键盘下面空白怎么去掉(苹果13键盘下面灰色怎么去掉)

  • 荣耀手机怎样拼图照片(荣耀手机怎样拼图合成)

    荣耀手机怎样拼图照片(荣耀手机怎样拼图合成)

  • mate40pro屏幕尺寸(mate40pro屏幕尺寸长宽)

    mate40pro屏幕尺寸(mate40pro屏幕尺寸长宽)

  • 荣耀20怎么隐藏桌面软件(荣耀20怎么隐藏照片)

    荣耀20怎么隐藏桌面软件(荣耀20怎么隐藏照片)

  • 微博可以改名字吗(微博可以改名字不)

    微博可以改名字吗(微博可以改名字不)

  • 为什么美团众包实名认证不通过(为什么美团众包解绑不了银行卡)

    为什么美团众包实名认证不通过(为什么美团众包解绑不了银行卡)

  • 手机上健康码怎么弄(手机上健康码怎么找)

    手机上健康码怎么弄(手机上健康码怎么找)

  • 小米8手机屏幕残影修复方法(小米8手机屏幕多大尺寸)

    小米8手机屏幕残影修复方法(小米8手机屏幕多大尺寸)

  • 萤石云可以同时登录几个手机(萤石云能连接几部手机)

    萤石云可以同时登录几个手机(萤石云能连接几部手机)

  • launcher3已停止运行是什么意思(launcher3已停止运行是什么意思联想平板售后服务)

    launcher3已停止运行是什么意思(launcher3已停止运行是什么意思联想平板售后服务)

  • 怎样用美图秀秀把几张照片拼在一起(怎样用美图秀秀剪辑视频)

    怎样用美图秀秀把几张照片拼在一起(怎样用美图秀秀剪辑视频)

  • nova4长多少厘米(华为nova4长多少厘米)

    nova4长多少厘米(华为nova4长多少厘米)

  • 一加是什么手机品牌(一加是什么手机怎么样)

    一加是什么手机品牌(一加是什么手机怎么样)

  • 华为mate30悬浮按钮怎么设置(华为mate30悬浮按钮开关在哪里)

    华为mate30悬浮按钮怎么设置(华为mate30悬浮按钮开关在哪里)

  • 路由器wifi灯一直闪烁(路由器wifi灯一直闪烁不能上网怎么办)

    路由器wifi灯一直闪烁(路由器wifi灯一直闪烁不能上网怎么办)

  • 快手为什么登录不了(快手为什么登录不了QQ)

    快手为什么登录不了(快手为什么登录不了QQ)

  • 如何下载b站上的视频(如何下载b站上的视频素材)

    如何下载b站上的视频(如何下载b站上的视频素材)

  • 电子计算器上ce是什么意思(电子计算器上ce键的主要功能是关机对不对)

    电子计算器上ce是什么意思(电子计算器上ce键的主要功能是关机对不对)

  • 数据挖掘方法有哪些(数据挖掘的三种常用方法)

    数据挖掘方法有哪些(数据挖掘的三种常用方法)

  • 微信号封几次会永久封(微信号封几次会被冻结)

    微信号封几次会永久封(微信号封几次会被冻结)

  • 苹果8p多重(苹果8p多重量多少克)

    苹果8p多重(苹果8p多重量多少克)

  • 苹果11死机重启(苹果11死机重启不了,为什么)

    苹果11死机重启(苹果11死机重启不了,为什么)

  • 记事本是用于编辑什么文件的应用程序(记事本是用于编辑什么文件的实用程序)

    记事本是用于编辑什么文件的应用程序(记事本是用于编辑什么文件的实用程序)

  • 虾米音乐怎么下载到mp3(虾米音乐怎么下载不了)

    虾米音乐怎么下载到mp3(虾米音乐怎么下载不了)

  • Mac双系统时间不对 Mac双系统时间同步解决办法(mac 双系统如何调整系统空间)

    Mac双系统时间不对 Mac双系统时间同步解决办法(mac 双系统如何调整系统空间)

  • JS总结——数组,对象遍历的方法(js数组方法大全)

    JS总结——数组,对象遍历的方法(js数组方法大全)

  • 典当行借款合同需交印花税吗
  • 其他应付款包括哪些内容口诀
  • 固定资产无法使用不能带来经济利益是否需计提租金
  • 个人所得税定期定额起征点
  • 缴纳社保的基数是什么意思
  • 做账要不要入库单和出库单
  • 吸收合并的税务处理增值税风险
  • 购入办公楼的入账价值
  • 高管培训费不能税前列支
  • 一般纳税人小型微利企业印花税
  • 中国公司可以给境外公司开发票吗
  • 小微企业附加税优惠政策2023
  • 会员卡充值赠送金额怎么做账
  • 电子发票转收入怎么做为记账凭证?
  • 代为持股有没有法律效应
  • 企业采购成本包括所有的仓储费用
  • 发票盖错章了怎么办呢
  • 资产处置收益期末有余额吗
  • 如何设置系统自带的输入法
  • 上海中秋活动2021
  • php正则替换字符串
  • 0x00000024蓝屏怎样解决
  • 电脑CPU性能天梯
  • PHP:pg_fetch_all()的用法_PostgreSQL函数
  • 对公账户收款
  • 增值税直接减征的开什么发票
  • 坏账准备的会计科目
  • 节流和防抖js
  • 查账征收的纳税人能否简易注销
  • 当月未付款算在次月吗
  • 普通发票红冲需要拿回原发票吗
  • 织梦怎么调用当前栏目下的文章
  • 找社保代理公司需要提供什么资料
  • 利润表中其他业务利润怎么算
  • 车船税应计入税金及附加吗
  • 息税前利润变动率的计算公式
  • 以前年度损益调整借贷方向
  • 提取备用金记账凭证号的入账范围
  • 折让折扣负数发票的会计处理
  • 购货方收到销售方提供的发票怎么做分录
  • 收到银行借款并存入银行会计分录
  • 预付账款借方如何结转
  • 公允价值变动损益借贷方向
  • 商品销售企业成本包括
  • 小规模纳税人销售自己使用过固定资产
  • 税收滞纳金计入营业外收入的哪里
  • 税务稽查补缴增值税税的账务处理流程
  • 房地产企业预付账款会计分录
  • 应付账款暂估会计分录怎么写
  • 影视产业前景
  • 固定资产清理后怎么做账
  • 开票软件备份在哪里
  • 反记账是什么
  • sql 分页语句
  • windows server 202
  • centos叫什么
  • win8.1系统安装教程
  • centos6安装步骤
  • 包含正在使用的windows版本 无法格式化
  • gnaupdaemon.exe是什么
  • 带上Windows 8去旅行 让你的旅途更轻松
  • 如何判断电脑是不是linux
  • 安卓闹钟软件下载
  • 不得不佩服自己的搞笑说说
  • python获取命令行执行命令的输出
  • 使用jquery
  • 用python操作excel
  • javascript ?
  • 批处理set命令
  • nodejs实战教程
  • 注释讲解
  • android 圆形图片
  • android基础知识总结
  • fragment里面如何嵌套fragment
  • 国税账户密码在哪里能找到
  • 税务稽查延期检查最长多长时间最长不得超过30日
  • 个人所得税追缴很快就缴清了还会被罚款吗
  • 员工持股计划与股权激励哪个好
  • 土地评估报告书
  • 广东省上交国家财政
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设