记录vue项目中遇到的一点小问题


Posted in Javascript onMay 14, 2019

1、鼠标悬浮显示不同的背景图片,代码如下:

记录vue项目中遇到的一点小问题

效果如图,页面初始效果:

记录vue项目中遇到的一点小问题

鼠标悬浮后效果:

记录vue项目中遇到的一点小问题

2、for 循环发送axios遇到的问题 问题背景:

在声动语商项目中,需求更改后,出现一个:教师发布课程的时候要求一个课程同时发送给多个班级。

现在的接口:每次只能发送一个班级的id,也就是:classesId字段只能传一个班级的id,因此为了满足这个新需求就想着:将select修改为多选,使用for循环循环用户选中的班级数组,使用axios发送创建课程请求。更改后的界面如下图所示:

记录vue项目中遇到的一点小问题

问题复现:

思路:使用for循环,发送axios,发现请求发送的data中classesId总是最后一个,立马想到了闭包,以为是闭包问题,于是使用

记录vue项目中遇到的一点小问题

这种方法想着解决下闭包,重新发送axios请求发现classesId数据还是不对。然后自我怀疑,以为自己写的闭包是不是有啥问题....

于是使用了第三方lodash的forEach方法一下,将axios请求写到了foreach里面,重新运行还是发现不对。。。。

以为this指向有问题,有将this重新赋值,结果:还是一样。。。。。。。

于是又调整了一下代码:将axios请求重新封装出去,重新在for循环里面调用,结果:还是不对

打断点发现for循环出来的classesId数据是对的,但是加上axios请求,每次请求发送的classesId还只是最后一个的

又想着是不是axios的异步请求影响的,于是将axios改为了同步请求,结果:还是一样,这个时候,整个人就有点不好了。。。。

记录vue项目中遇到的一点小问题

记录vue项目中遇到的一点小问题

眼看着快要下班了,而这个问题已经看了一下午还没有解决,就很着急啊啊啊啊

努力回想自己曾经这样请求过啊,当时并没有发生任何不对。于是想着将请求的数据简化一下,就将发送的data数据简化到了只有classesId,想着只有一个数据了,就没有再定义任何的变量,直接将数据写到了axios请求内部。运行发现:classesId竟然是对的。。。。于是立马将其他数据都写到了axios请求内容,发现结果对了,天啊,终于看到了希望。。。。

记录vue项目中遇到的一点小问题

记录vue项目中遇到的一点小问题

记录vue项目中遇到的一点小问题

问题原因:

将这两种数据的定义及发送方式对比,分析问题可能是因为 js赋值的深拷贝和浅拷贝造成的。。。

其他

解决过程中还试了watch监听for循环classesId的变化,发现也只能监听获取到最后一个classesId.,并不能解决这个问题

Javascript 相关文章推荐
Javascript数组的排序 sort()方法和reverse()方法
Jun 04 Javascript
修改file按钮的默认样式实现代码
Apr 23 Javascript
jquery提示效果实例分析
Nov 25 Javascript
jQuery中slideUp()方法用法分析
Dec 24 Javascript
JS实现仿雅虎首页快捷登录入口及导航模块效果
Sep 19 Javascript
js操作数组函数实例小结
Dec 10 Javascript
javascript实现随机显示星星特效
Jan 28 Javascript
深入理解jQuery3.0的domManip函数
Sep 01 Javascript
javascript数据结构中栈的应用之符号平衡问题
Apr 11 Javascript
axios的拦截请求与响应方法
Aug 11 Javascript
mpvue 单文件页面配置详解
Dec 02 Javascript
迅速了解一下ES10中Object.fromEntries的用法使用
Mar 05 Javascript
javascript中如何判断类型汇总
May 14 #Javascript
详解如何探测小程序返回到webview页面
May 14 #Javascript
JQuery获取元素尺寸、位置及页面滚动事件应用示例
May 14 #jQuery
javascript实现遮罩层动态效果实例
May 14 #Javascript
JQuery animate动画应用示例
May 14 #jQuery
微信小程序的线程架构【推荐】
May 14 #Javascript
jquery实现选项卡切换代码实例
May 14 #jQuery
You might like
php代码把全角数字转为半角数字
2007/12/10 PHP
thinkphp5 加载静态资源路径与常量的方法
2017/12/24 PHP
PHP pthreads v3下同步处理synchronized用法示例
2020/02/21 PHP
ExtJS GridPanel 根据条件改变字体颜色
2010/03/08 Javascript
js自定义事件代码说明
2011/01/31 Javascript
用JavaScript修改CSS属性的代码
2013/05/06 Javascript
jquery实现不包含当前项的选择器实例
2015/06/25 Javascript
基于jquery实现最简单的选项卡切换效果
2016/05/08 Javascript
JavaScript仿微博发布信息案例
2016/11/16 Javascript
微信小程序button组件使用详解
2018/01/31 Javascript
把vue-router和express项目部署到服务器的方法
2018/02/21 Javascript
使用jquery Ajax实现上传附件功能
2018/10/23 jQuery
node.js微信小程序配置消息推送的实现
2019/02/13 Javascript
elementUI多选框反选的实现代码
2019/04/03 Javascript
详解50行代码,Node爬虫练手项目
2019/04/22 Javascript
layui当点击文本框时弹出选择框,显示选择内容的例子
2019/09/02 Javascript
JQuery使用属性addClass、removeClass和toggleClass实现增加和删除类操作示例
2019/11/18 jQuery
JavaScript读取本地文件常用方法流程解析
2020/10/12 Javascript
浅析微信小程序自定义日历组件及flex布局最后一行对齐问题
2020/10/29 Javascript
nuxt.js服务端渲染中axios和proxy代理的配置操作
2020/11/06 Javascript
python中异常捕获方法详解
2017/03/03 Python
Python输出各行命令详解
2018/02/01 Python
python学习基础之循环import及import过程
2018/04/22 Python
Python 网络爬虫--关于简单的模拟登录实例讲解
2018/06/01 Python
Python爬虫回测股票的实例讲解
2021/01/22 Python
阿根廷网上配眼镜:SmartBuyGlasses阿根廷
2016/08/19 全球购物
澳大利亚便宜的家庭购物网站:CrazySales
2018/02/06 全球购物
意大利简约的休闲品牌:Aspesi
2018/02/08 全球购物
英国领先的电动可调床制造商:Laybrook
2019/12/26 全球购物
教师实习期自我鉴定
2013/10/06 职场文书
教师四风对照检查材料思想汇报
2014/09/17 职场文书
离职报告格式
2014/11/04 职场文书
埃及王子观后感
2015/06/16 职场文书
《我的长生果》教学反思
2016/02/20 职场文书
js中Object.create实例用法详解
2021/10/05 Javascript
详解Flutter自定义应用程序内键盘的实现方法
2022/06/14 Java/Android