记录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 相关文章推荐
node.js使用npm 安装插件时提示install Error: ENOENT报错的解决方法
Nov 20 Javascript
js获取浏览器基本信息大全
Nov 27 Javascript
jQuery控制DIV层实现由大到小,由远及近动画变化效果
Oct 09 Javascript
javascript:void(0)点击登录没反应怎么解决
Nov 13 Javascript
一种Javascript解释ajax返回的json的好方法(推荐)
Jun 02 Javascript
AngularJS入门教程之Scope(作用域)
Jul 27 Javascript
jquery实现的回旋滚动效果完整实例【附demo源码下载】
Sep 20 Javascript
使用Vue自定义数字键盘组件(体验度极好)
Dec 19 Javascript
通过jquery toggleClass()属性制作文章段落更改背景颜色
May 21 jQuery
react native 文字轮播的实现示例
Jul 27 Javascript
微信小程序使用swiper组件实现层叠轮播图
Nov 04 Javascript
js单线程的本质 Event Loop解析
Oct 29 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
PHP5中MVC结构学习
2006/10/09 PHP
动态生成gif格式的图像要注意?
2006/10/09 PHP
利用JS实现浏览器的title闪烁
2013/07/08 Javascript
JS操作Cookies的小例子
2013/10/15 Javascript
jquery分页插件jpaginate在IE中不兼容问题
2014/04/22 Javascript
Js+Jq获取URL参数的集中方法示例代码
2014/05/20 Javascript
在Ubuntu上安装最新版本的Node.js
2014/07/14 Javascript
js实现显示当前状态的导航效果代码
2015/08/28 Javascript
jquery实现鼠标点击后展开列表内容的导航栏效果
2015/09/14 Javascript
AngularJS使用ngMessages进行表单验证
2015/12/27 Javascript
JS中JSON对象和String之间的互转及处理技巧
2016/04/06 Javascript
使用BootStrap和Metroui设计的metro风格微网站或手机app界面
2016/10/21 Javascript
详解jQuery停止动画——stop()方法的使用
2016/12/14 Javascript
javascript实现数据双向绑定的三种方式小结
2017/03/09 Javascript
详解vue中computed 和 watch的异同
2017/06/30 Javascript
vue中的计算属性的使用和vue实例的方法示例
2017/12/04 Javascript
vue-cli中的babel配置文件.babelrc实例详解
2018/02/22 Javascript
JavaScript 日期时间选择器一些小结
2018/04/02 Javascript
微信小程序位置授权处理方法
2019/06/13 Javascript
如何利用JavaScript编写一个格斗小游戏
2021/01/06 Javascript
python操作xml文件详细介绍
2014/06/09 Python
收藏整理的一些Python常用方法和技巧
2015/05/18 Python
Python实现配置文件备份的方法
2015/07/30 Python
python append、extend与insert的区别
2016/10/13 Python
python 中的divmod数字处理函数浅析
2017/10/17 Python
python中复数的共轭复数知识点总结
2020/12/06 Python
Waterford英国官方网站:世界上最受欢迎的优质水晶品牌
2019/08/17 全球购物
小城镇建设汇报材料
2014/08/16 职场文书
改作风抓落实促发展心得体会
2014/09/10 职场文书
意外死亡赔偿协议书
2014/10/14 职场文书
安全生产工作汇报材料
2014/10/28 职场文书
前台接待岗位职责
2015/02/03 职场文书
2019财务管理制度最新范本!
2019/07/09 职场文书
2020年基层司法所建设情况调研报告
2019/11/30 职场文书
OpenCV-Python实现图像平滑处理操作
2021/06/08 Python
服务器nginx权限被拒绝解决案例
2022/09/23 Servers