自己平时遇到的问题---记录篇

问题

el-table使用v-show失效,使用v-if 导致切换时数据串行

解决方法:不使用v-show 使用v-if 的时候加上 :key="Math.random()" 实质上就是使用el-table-column 不能知道这个是不是唯一,所以导致串行。加上key之后就会保证el-table-column是唯一的。就不会导致串行的问题了。

JSON.parse(JSON.stringify(xxx))实现数据的深拷贝

在数据的操作中经常会用到数据的深拷贝。比较常用的有JSON.parse(JSON.stringify(xxx))、jQ的$.extend、递归实现深拷贝

缺陷:它会抛弃对象的constructor,深拷贝之后,不管这个对象原来的构造函数是什么,在深拷贝之后都会变成Object;这种方法能正确处理的对象只有 Number, String, Boolean, Array, 扁平对象,也就是说,只有可以转成JSON格式的对象才可以这样用,像function、正则等没办法转成JSON

ie内核的浏览器---qq浏览器网络请求返回数据不是最新数据(读取了本地的缓存)

IE浏览器会缓存网页中的GET和XHR的内容,并且在IE浏览器中如果请求方式是get方式的话,IE浏览器会进行识别,如果该get请求的url是第一次请求的话,会请求项目的后台,从数据库中获取数据,如果该get请求的url不是第一次请求的话,那么该url就不会请求项目后台,IE浏览器会直接从缓存中拿到上次该url获取的数据,无论是什么插件的get方式请求,IE浏览器都会这样进行处理的

解决方法:

  1. 提交方式是get方式,但是在传递的参数中添加一个随机数或当前时间戳的参数,从而保证每次url请求唯一性,从而解决在IE浏览器中从数据库中获取数据
  2. 提交方式修改为post方法,这样就不会出现这样的问题了

vue中base64图片展示提示data:image/png;base64,undefined:1 GET data:image/png;base64,undefined net::ERR_INVALID_URL 问题

造成这样的原因

<img :src="'data:image/png;base64,' + sealInfo.base64" alt />

其中这个sealInfo是请求回来的数据。

解决方法:在数据返回的时候

this.sealInfo.base64 = 'data:image/png;base64,' + res.data.base64

vue 出现 Error in v-on handler: "RangeError: Maximum call stack size exceeded"错误

出现的原因就是自己调用了自己,程序进入了死循环仔细检查代码--比较常见出现的地方,函数内部调用,路由重定项到了自己头上。

原文地址:https://www.cnblogs.com/justyouadmin/p/12100713.html