记录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 相关文章推荐
JSON 学习之JSON in JavaScript详细使用说明
Feb 23 Javascript
Jquery AJAX POST与GET之间的区别
Nov 14 Javascript
JavaScript中的比较操作符>、=、
Dec 31 Javascript
jQuery进行组件开发完整实例
Dec 15 Javascript
js实现滑动到页面底部自动加载更多功能
Feb 15 Javascript
JavaScript转换数据库DateTime字段类型方法
Jun 27 Javascript
React进阶学习之组件的解耦之道
Aug 07 Javascript
解决vue项目报错webpackJsonp is not defined问题
Mar 14 Javascript
详解mpvue开发微信小程序基础知识
Sep 23 Javascript
JavaScript 自定义html元素鼠标右键菜单功能
Dec 02 Javascript
vue.js实现简单购物车功能
May 30 Javascript
Vue.extend 登录注册模态框的实现
Dec 29 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应用技巧
2008/03/27 PHP
php连接odbc数据源并保存与查询数据的方法
2014/12/24 PHP
Linux系统下php获得系统分区信息的方法
2015/03/30 PHP
PHP实现登陆并抓取微信列表中最新一组微信消息的方法
2017/07/10 PHP
CMSPRESS 10行代码搞定 PHP无限级分类2
2018/03/30 PHP
查看源码的工具 学习jQuery源码不错的工具
2011/12/26 Javascript
脚本合并提升javascript性能示例
2014/02/24 Javascript
jquery制作属于自己的select自定义样式
2015/11/23 Javascript
实例详解JSON数据格式及json格式数据域字符串相互转换
2016/01/07 Javascript
使用struts2+Ajax+jquery验证用户名是否已被注册
2016/03/22 Javascript
在IE8上JS实现combobox支持拼音检索功能
2016/05/23 Javascript
jquery.serialize() 函数语法及简单实例
2016/07/08 Javascript
微信小程序 五星评分(包括半颗星评分)实例代码
2016/12/14 Javascript
JavaScript提高加载和执行效率的方法
2017/02/03 Javascript
Bootstrap布局之栅格系统学习笔记
2017/05/04 Javascript
详解AngularJs路由之Ui-router-resolve(预加载)
2017/06/13 Javascript
详解JavaScript基础知识(JSON、Function对象、原型、引用类型)
2018/01/16 Javascript
Vue 实现列表动态添加和删除的两种方法小结
2018/09/07 Javascript
详解vue中axios的使用与封装
2019/03/20 Javascript
javascript中undefined的本质解析
2019/07/31 Javascript
Vue 自定义标签的src属性不能使用相对路径的解决
2019/09/17 Javascript
不依任何赖第三方,单纯用vue实现Tree 树形控件的案例
2020/09/21 Javascript
[02:53]2018年度DOTA2最佳战队-完美盛典
2018/12/17 DOTA
python的Template使用指南
2014/09/11 Python
Python命令行参数解析工具 docopt 安装和应用过程详解
2019/09/26 Python
python被修饰的函数消失问题解决(基于wraps函数)
2019/11/04 Python
Python测试框架:pytest学习笔记
2020/10/20 Python
Bergfreunde丹麦:登山装备网上零售商
2017/02/26 全球购物
戴尔美国官方折扣店:Dell Outlet
2018/02/13 全球购物
广播体操口号
2014/06/18 职场文书
励志演讲稿大全
2014/08/21 职场文书
学校开学标语
2014/10/06 职场文书
医院党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
2015年班干部工作总结
2015/04/29 职场文书
确保减税降费落地生根,用实实在在措施
2019/07/19 职场文书
Python中Selenium对Cookie的操作方法
2021/07/09 Python