记录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 相关文章推荐
jQuery层次选择器选择元素使用介绍
Apr 18 Javascript
深入分析Javascript事件代理
Jan 30 Javascript
jQuery使用$.each遍历json数组的简单实现方法
Apr 18 Javascript
在JavaScript中调用Java类和接口的方法
Sep 07 Javascript
jQuery EasyUI ProgressBar进度条组件
Feb 28 Javascript
微信小程序中input标签详解及简单实例
May 18 Javascript
详解如何在vue中使用sass
Jun 21 Javascript
基于vue的换肤功能的示例代码
Oct 10 Javascript
Angular.js实现获取验证码倒计时60秒按钮的简单方法
Oct 18 Javascript
JS删除String里某个字符的方法
Jan 06 Javascript
vue-router 控制路由权限的实现
Sep 24 Javascript
Vue使用鼠标在Canvas上绘制矩形
Dec 24 Vue.js
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集成百度Ueditor 1.4.3
2014/11/23 PHP
php数组键名技巧小结
2015/02/17 PHP
作为PHP程序员你要知道的另外一种日志
2018/07/30 PHP
laravel-admin 中列表筛选方法
2019/10/03 PHP
Laravel 自动生成验证的实例讲解:login / logout
2019/10/14 PHP
Cookie跨域问题解决方案代码示例
2020/11/24 PHP
JS之小练习代码
2008/10/12 Javascript
jquery插件如何使用 jQuery操作Cookie插件使用介绍
2012/12/15 Javascript
jquery垂直公告滚动实现代码
2013/12/08 Javascript
JS获得浏览器版本和操作系统版本的例子
2014/05/13 Javascript
JQuery实现简单的服务器轮询效果实例
2016/03/31 Javascript
JavaScript字符集编码与解码详谈
2017/02/02 Javascript
详谈jQuery.load()和Jsp的include的区别
2017/04/12 jQuery
nodejs更改项目端口号的方法
2018/05/13 NodeJs
Element-UI中Upload上传文件前端缓存处理示例
2019/02/21 Javascript
巧妙运用v-model实现父子组件传值的方法示例
2019/04/07 Javascript
微信小程序页面间传值与页面取值操作实例分析
2019/04/30 Javascript
JavaScript常用内置对象用法分析
2019/07/09 Javascript
JSONP解决JS跨域问题的实现
2020/05/25 Javascript
[02:10]DOTA2 TI10勇士令状玩法及不朽Ⅰ展示:焕新世界,如你所期
2020/05/29 DOTA
python编写简单爬虫资料汇总
2016/03/22 Python
Python 实现链表实例代码
2017/04/07 Python
python中的随机函数random的用法示例
2018/01/27 Python
Django结合ajax进行页面实时更新的例子
2019/08/12 Python
PyInstaller将Python文件打包为exe后如何反编译(破解源码)以及防止反编译
2020/04/15 Python
Python偏函数实现原理及应用
2020/11/20 Python
财务会计专业求职信范文
2013/12/31 职场文书
李培根演讲稿
2014/05/22 职场文书
营销总经理岗位职责范本
2014/09/02 职场文书
教师先进个人材料
2014/12/17 职场文书
2016新春团拜会致辞
2015/08/01 职场文书
2016年12月份红领巾广播稿
2015/12/21 职场文书
优质护理服务心得体会
2016/01/22 职场文书
一封真诚的自荐信帮你赢得机会
2019/05/07 职场文书
MySQL系列之二 多实例配置
2021/07/02 MySQL
Java中Dijkstra(迪杰斯特拉)算法
2022/05/20 Java/Android