
工作
文章平均质量分 50
Wonder*
这个作者很懒,什么都没留下…
展开
-
解决前端跨域的几种方法
拿Vue项目说,在本地运行npm run dev等命令时实际上是用node运行了一个服务器,因此proxyTable实际上是将请求发给自己的服务器,再由服务器转发给后台服务器,做了一层代理,因此不会出现跨域问题。JSONP是一种比较古老的解决方案,这种方案没有兼容性问题,基本都可以使用,但是它所解决的问题比较有限,且对服务端接口有一定的要求,只支持get请求,不支持post,请求回来的东西当做js来执行。若不符合前述条件,则会通过预检请求,确认是否可以通过服务器的限制,然后才会发送正式的请求。原创 2023-02-28 14:58:21 · 3804 阅读 · 1 评论 -
WebSocket快速入门及基本使用
假设我们创建了一个 ws 对象:参数说明:url:指定连接的 URL;protocol:可选,指定可接受的子协议。ws 对象上的事件:事件说明open连接建立时触发message客户端接收到服务端消息时触发error通信出现错误时触发close连接关闭时触发另外,我们可以通过ws.send()方法,给服务端发送数据;也可以通过ws.close()方法主动断开连接。WebSocket建立的是长连接,且允许服务端主动向客户端推送数据,使得客户端和服务器之间的数据交换变得更加简单。...原创 2022-08-31 10:23:52 · 2804 阅读 · 0 评论 -
图片懒加载的几种实现方式
原理在页面中有很多图片的时候,图片加载就需要很多时间,很耗费服务器性能,不仅影响渲染速度还会浪费带宽,为了解决这个问题,提高用户体验,所以就出现了懒加载这种方式来减轻服务器的压力,即优先加载可视区域的内容,其他部分等进入了可视区域再加载,从而提高性能。思路图片是根据src进行加载的,在图片没有进入可视区域时,先不给src赋值(或者可以先给一个很小的loading图),等到图片进入可视区域再给src赋真正的值。图片的真实地址可以先存储在data-src中。实现<di...原创 2022-03-22 16:09:09 · 4135 阅读 · 0 评论 -
普通列表(数组)转换成树结构数组
普通列表转换成tree结构情况一:整个数组转var list = [ { idSelf: 1, label: '苹果', idParent: 100 }, { idSelf: 2, label: '茄子', idParent: 200 }, { idSelf: 3, label: '香蕉', idParent: 100 }, { idSelf: 4, label: '运动类型',原创 2022-03-18 16:38:08 · 2823 阅读 · 0 评论 -
vue页面状态持久化
需求:左树右表。组织树选中某一节点后,进入详情页面,再返回时需要保持选中。其他查询条件也需要保持状态。思路:用vuex结合localStorage缓存数据。点击树节点或查询按钮时,将数据保存在vuex中,同时存在localStorage中;页面回退时,将存在localStorage中的数据放到vuex中,在页面代码中判断vuex中是否有我们存的数据,有则直接用,没有则默认初始数据。当页面导航路由跳转时再清除缓存的页面数据。代码:点击某树节点时,存下id至vuex中。通过dispatch触发act原创 2021-11-30 16:35:09 · 1801 阅读 · 0 评论 -
vue用iframe实现download功能
下载前一定是要先拿到文件下载地址的url,如果在执行下载方法之前已经拿到url,可以通过传参的方式写到downLoad方法中,如果没拿到过,可以在downLoad方法里,调接口获取url。1.单个下载downLoad (url) { const iframe = document.createElement("iframe"); iframe.src = url; iframe.style.display = "none"; // 防止影响页面 iframe.sty原创 2021-09-24 11:07:13 · 2984 阅读 · 0 评论 -
一个选项框的选项根据另一个选项框的值的变化而变化
如上图:选择不同的报警类型,报警项中的选项也会跟着发生变化。报警类型的代码:报警项的代码:这里的subTypeArr 就是第二个选项框的选项,会随着第一个选项框“报警类型”的选中值的变化而变化。实现:因为报警项会根据报警类型的变化而变化,所以第一步需要做的就是,监听报警类型的变化。写在watch中的代码:监听的'searchForm.type'就是报警类型绑定的值;handler函数是监听里面固定的写法,里面的参数val就是报警类型选项框里此时被选...原创 2021-09-23 00:31:23 · 785 阅读 · 3 评论 -
Angular之select标签中的的xx.value as xx.name for xx in yy
今天输入npm install -g vue-cli时,报了以下一堆错误重点在红色字的部分未查看原因,我们按提示输入命令:npm help config得到解决方法原创 2021-08-20 14:40:00 · 407 阅读 · 0 评论 -
密码框后的小眼睛怎么写?
<div class="item" ng-init="pswShow = false"> <span> <input type="text" class="text inline-block" ng-model="oParams.szPassword" ng-if="pswShow"/> <input type="password" class="text inline-block" ng-model="oPara...原创 2021-08-04 10:53:05 · 9311 阅读 · 0 评论 -
【项目问题】实现步骤条每个步骤都对应不同的颜色
先放最终效果图:工作时有这么一个需求:点击按钮查询某个设备各个版本的升级情况,即根据后端返回来的version(版本号)和value(当前进度情况:值为1-4。1代表未开始,2代表进行中,3代表升级成功,4代表升级失败)来动态生成步骤条展示升级情况。为实现该需求用了elementui的步骤条,在颜色处理的过程中遇到了困难,网上大部分步骤条每个步骤都是一个颜色,改变一个颜色,所有都改变了(也可能是我搜索姿势不对,没找到想要的结果)解决方案:用了步骤条里的status属性,这个属性对应.原创 2021-07-19 15:23:46 · 1708 阅读 · 1 评论 -
【项目问题】传参时格式发生错误
前端向后端调接口传参时,传的是json格式的数据,但是接口一直没调用成功,和后端排查问题后发现,后端收到的数据不是json格式的,而是像这样的:{"version":["V1.4.2 build220119"],"remark":[""],"fileName":["新建 Microsoft Word 文档.dav"],"filePath":["blob:http://localhost:19528/87cb9023-ea32-437c-8cc0-ad76f817e77f"],"fileSize":["原创 2021-07-19 11:07:09 · 652 阅读 · 0 评论