记录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 相关文章推荐
flash 得到自身url参数的代码
Nov 15 Javascript
分享8款优秀的 jQuery 加载动画和进度条插件
Oct 24 Javascript
Jquery获取复选框被选中值的简单方法
Jul 04 Javascript
javascript实现模拟时钟的方法
May 13 Javascript
Bootstrap每天必学之轮播(Carousel)插件
Apr 25 Javascript
微信小程序网络请求的封装与填坑之路
Apr 01 Javascript
react-router实现按需加载
May 09 Javascript
在vue中使用v-bind:class的选项卡方法
Sep 27 Javascript
其实你可以少写点if else与switch(推荐)
Jan 10 Javascript
Vue.js中的extend绑定节点并显示的方法
Jun 20 Javascript
Vue 封装防刷新考试倒计时组件的实现
Jun 05 Javascript
vue解决跨域问题(推荐)
Nov 10 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函数代码
2010/04/22 PHP
解析php如何将日志写进syslog
2013/06/28 PHP
PHP查询网站的PR值
2013/10/30 PHP
8个必备的PHP功能开发
2015/10/02 PHP
浅谈PHP中pack、unpack的详细用法
2018/03/12 PHP
laravel 解决Eloquent ORM的save方法无法插入数据的问题
2019/10/21 PHP
php如何获取Http请求
2020/04/30 PHP
javascript得到XML某节点的子节点个数的脚本
2008/10/11 Javascript
Jquery中增加参数与Json转换代码
2009/11/20 Javascript
JavaScript学习笔记之获取当前目录的实现代码
2010/12/14 Javascript
JavaScript变量的作用域全解析
2015/08/14 Javascript
JavaScript统计字符串中每个字符出现次数完整实例
2016/01/28 Javascript
不同js异步函数同步的实现方法
2016/05/28 Javascript
微信小程序 获取二维码实例详解
2017/06/23 Javascript
React diff算法的实现示例
2018/04/20 Javascript
详解Vue中使用Echarts的两种方式
2018/07/03 Javascript
可拖拽组件slider.js使用方法详解
2020/12/04 Javascript
Python实现登录人人网并抓取新鲜事的方法
2015/05/11 Python
Python实现文件复制删除
2016/04/19 Python
python音频处理用到的操作的示例代码
2017/10/27 Python
Python爬虫天气预报实例详解(小白入门)
2018/01/24 Python
django 发送邮件和缓存的实现代码
2018/07/18 Python
python中cPickle类使用方法详解
2018/08/27 Python
python实战串口助手_解决8串口多个发送的问题
2019/06/12 Python
Python实现12306火车票抢票系统
2019/07/04 Python
pandas中DataFrame修改index、columns名的方法示例
2019/08/02 Python
python使用正则来处理各种匹配问题
2019/12/22 Python
Python3创建Django项目的几种方法(3种)
2020/06/03 Python
初任培训自我鉴定
2013/10/07 职场文书
编辑找工作求职信分享
2014/01/03 职场文书
七年级政治教学反思
2014/02/03 职场文书
yy婚礼主持词
2014/03/14 职场文书
纪检干部对照检查材料
2014/08/22 职场文书
2015年元旦促销方案书
2014/12/09 职场文书
当你焦虑迷茫时,请读读这6句话
2019/07/24 职场文书
Mysql数据库group by原理详解
2022/07/07 MySQL