记录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 相关文章推荐
JS加ASP二级域名转向的代码
May 17 Javascript
JS格式化数字金额用逗号隔开保留两位小数
Oct 18 Javascript
Javascript+CSS实现影像卷帘效果思路及代码
Oct 20 Javascript
JS for循环中i++ 和 ++i的区别介绍
Jul 20 Javascript
vue.js初学入门教程(2)
Nov 07 Javascript
前端构建工具之gulp的配置与搭建详解
Jun 12 Javascript
Vue学习笔记进阶篇之多元素及多组件过渡
Jul 19 Javascript
解决Mac下安装nmp的淘宝镜像失败问题
May 16 Javascript
微信小程序登录换取token的教程
May 31 Javascript
ES6 系列之 WeakMap的使用示例
Aug 06 Javascript
vue-cli项目代理proxyTable配置exclude的方法
Sep 20 Javascript
javascript实现蒙版与禁止页面滚动
Jan 11 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接口中interface存在的意义
2013/06/27 PHP
php实现的获取网站备案信息查询代码(360)
2013/09/23 PHP
php身份证号码检查类实例
2015/06/18 PHP
php无序树实现方法
2015/07/28 PHP
PHP程序员的技术成长规划
2016/03/25 PHP
Jqgrid设置全选(选择)及获取选择行的值示例代码
2013/12/28 Javascript
深入理解JavaScript系列(43):设计模式之状态模式详解
2015/03/04 Javascript
浅析AngularJS中的指令
2016/03/20 Javascript
原生JS实现网络彩票投注效果
2016/09/25 Javascript
js实现仿购物车加减效果
2017/03/01 Javascript
jQuery Jsonp跨域模拟搜索引擎
2017/06/17 jQuery
详解vue 组件之间使用eventbus传值
2017/10/25 Javascript
vue中实现先请求数据再渲染dom分享
2018/03/17 Javascript
详解JavaScript中关于this指向的4种情况
2019/04/18 Javascript
js实现页面图片消除效果
2020/03/24 Javascript
JavaScript动画实例之粒子文本的实现方法详解
2020/07/28 Javascript
[02:57]DOTA2英雄基础教程 风行者
2014/01/16 DOTA
使用Python获取CPU、内存和硬盘等windowns系统信息的2个例子
2014/04/15 Python
python实现的生成随机迷宫算法核心代码分享(含游戏完整代码)
2014/07/11 Python
初步介绍Python中的pydoc模块和distutils模块
2015/04/13 Python
Python 登录网站详解及实例
2017/04/11 Python
python pandas.DataFrame选取、修改数据最好用.loc,.iloc,.ix实现
2018/06/11 Python
Python requests库用法实例详解
2018/08/14 Python
Python2和Python3的共存和切换使用
2019/04/12 Python
基于python实现MQTT发布订阅过程原理解析
2020/07/27 Python
python中uuid模块实例浅析
2020/12/29 Python
Python 里最强的地图绘制神器
2021/03/01 Python
英国领先的奢侈品零售商之一:CRUISE
2016/12/02 全球购物
BASIC HOUSE官方旗舰店:韩国著名的服装品牌
2018/09/27 全球购物
英国羊绒服装购物网站:Pure Collection
2018/10/22 全球购物
查询优化的一般准则有哪些
2015/03/08 面试题
旅游管理专业生自荐信范文
2014/01/02 职场文书
信息专业大学生自我评价分享
2014/01/17 职场文书
金融学专科生自我鉴定
2014/02/21 职场文书
党的群众路线教育实践活动制度建设计划方案
2014/10/31 职场文书
Python List remove()实例用法详解
2021/08/02 Python