3 donggua_123

尚未进行身份认证

暂无相关描述

等级
TA的排名 4w+

文件预览或下载中,axios设置responseType:blob时对于后台报错信息的捕获兼容

项目中难免会遇到预览文件或者下载文件的场景,如果后台返回的是base64或者图片格式还好说,文件信息直接放在返回body里,作为对象属性给到前端,很直观,也方便取用。但后台给到的是文件流就要麻烦一些了,一般来说文件流会直接凡在res.data里处理这种特殊返回值时需要设置axios的responseType为blob,防止axios内部默认处理返回值,导致无法解析:axios.g...

2019-09-01 16:58:06

vue不用window的方式刷新当前页面

vue项目中我们很多时候需要刷新页面,比如本地用户信息更新后,或者需要重新加载当前页面的数据时,使用window.location.reload()或者window.history.go(0)方法都是整个窗口的刷新,和h5快捷键一样,会有短暂空白出现,体验很不好,这里说两种在vue项目里使用的无感知刷新页面方法:一、provide/inject方法父组件中provide提供的属性可以在任何...

2019-05-20 21:38:50

H5项目中有滚动元素,ios系统拖动默认行为和滚动事件冲突解决

问题:h5页面,在ios系统中,拖动顶部固定元素(红色区域)时,会默认拖动整个浏览器,导致出现白色背景,影响到自定义的滚动事件(橙色区域),因为自定义滚动是用了ui框架的,会导致其短暂的无法滚动,必须要等整个页面停稳了才能滚动橙色区域,影响到体验。这应该是ios系统自带的缓动效果,当用户拖动页面元素时给了一个回弹吸顶的效果,显得更加柔和,但有时候我们是不需要的。想要的效果:到顶后继续向下滑...

2019-05-04 18:07:15

作用域和闭包

一说到javascript里的闭包,大部分人都好像有所耳闻,但又说不太清楚到底是个什么东西。那么闭包到底是何方神圣呢?闭包是javascript中非常常见,但是又非常神秘的一个概念,有多少人像我一样,看了好多关于闭包的技术文章,却始终没能彻底搞懂闭包的深层次原理,经常是面试前突击一下闭包相关的文章,似懂非懂,过段时间后又几乎全忘了,只留下些残破的似是而非的记忆。今天我尝试着来总结一下我自己...

2019-04-11 21:10:06

vue组件通信方式小结

vue项目中,组件间的通信是最常用到的,也是面试必问的问题之一。组件通信可以分为几种类型:1、父子通信1.1父传子1.2子传父2、跨级传递2.1祖父传孙3.1孙传祖父3、同级组件间通信首先说一下通用的方式,即不管哪种场景都在功能上可以实现,撇开具体场景的适合程度,其实也就是全局的通信方式。一、vuebus以vue实例为总线,...

2019-04-01 22:34:00

自定义v-model用法

在vue中,v-model是用来进行数据双向绑定的一个语法糖,比如说用在input上,输入框数据变化,v-model绑定的对应的值也会跟着变化,无需单独获取。其实v-model还可以在自定义组件中使用,可以被拆解为props:value和event:input,也就是说组件必须接收一个value值以及名为input的自定义事件,就可以在自定义组件上使用v-model了。新建一个组件Inpu...

2019-03-31 20:39:01

pc端多页面公用回到顶部功能

在pc端,页面超过可视区高度后便会有滚动条,那么回到顶部的功能就必不可少了。现在我面临的情况:1、点击回到顶部,默认隐藏,滚动超过一定距离才显示回到顶部icon2、部分页面不需要回到顶部功能,比如登录、修改密码等模块;3、滚动效果的实现使用的是element-ui的scrollbar组件,看了下源码,并没有向外派发任何事件,仅仅实现了滚动效果,不提供诸如下拉刷新、回到顶部、返回滚动...

2019-02-27 20:12:29

当better-scroll 遇上element-ui时,dialog的层级问题处理

现在越来越多的开源工具使得开发效率大大提高,让开发者从繁琐的样式编写等工作中抽离出来,专注于前端逻辑的编写,很多时候只需要找到不同的工具、零件,按照自己的业务需求拼装在一起就是一辆很棒的车。只是不同的工具,组件也好、插件也好,都是由不同的人员开发维护的,属于独立的项目,但当我们要造车的时候,拿过来的零配件可能就有些地方无法相互兼容,比如多了个凹槽,导致两个零件无法很好的组装,这就需要手动去抹平这些...

2019-02-02 11:34:27

javascript中的this的四种绑定方式

在面向对象的编程中,最常用到的就是this关键词。this是在执行函数时绑定的,而不是在声明的时候绑定的,他的上下文取决于函数调用时的各种条件,和声明的位置没有关系,只和调用的位置有关。this有四种绑定方式:第一种:默认绑定vara=9;functionabc(){console.log(this.a)}abc()//9在这段代码中,this....

2018-12-20 21:09:34

小程序购物车功能(支持手动输入数量)以及侧边栏和列表栏联动的实现

小组刚完成一个小程序项目,第一版正式发布了,过程中也遇到了很多问题,这里记录一下我负责的模块中的购物车功能的实现过程。后期再把其他小伙伴的模块也一并贴上来分析一下,自己也学习一下他们的独门技能!效果图如下:在这里,计数器、购物篮做成组件用于复用,由于左右联动的功能在另一个模块也有用到,所以就把这个功能也做成了一个组件,传入不通的数据即可,左右联动的实现方法在之前一片博客有写到htt...

2018-09-17 11:08:24

flex布局换行后均匀分布

今天做一个需求的时候发现一个问题,原型需要做出这样的布局效果首先想到的肯定是flex布局display:flex;justify-content:space-between;flex-wrap:wrap;嗯,确实达到了效果,完美!!但是当数据不是4的倍数的时候,就出现问题了可以看到最后一排依然遵循均匀铺开在父级宽度里面,但这显然不是我们想要的效果如果...

2018-09-12 16:02:24

vue在新窗口打开页面的方法

有时候后我们会需要在一个新窗口打开页面,而我们都知道,vue是单页面的应用,通过router在内部跳转的。但是依然有办法实现这个需求。刚开始在网上找了一下,有两种方式,一种是给outer-link标签添加tag=a跳转打开新窗口,亲测有效。<router-linktag="a"target="_blank":to="{name:'detail',query:{goodsId:'...

2018-08-14 19:14:42

axios 请求参数格式与后台不对应导致415错误

用axios请求后台数据的时候,默认的头部配置是Content-Type:application/x-www-form-urlencoded;charset=UTF-8这样的话,data的配置格式和传递的格式就是一样的,都是是json键值对data:{"token":"eff6cd7f98a447daf14441c994913e46","ShopId":"2002094561039...

2018-08-02 10:44:15

weex踩坑日记

1、文字只能放在text里面,包括字体图标<textclass="main-iconicon"></text>2、cell不支持任何样式,高度随内部子元素样式撑开,margin登也在内部样式设置3、css样式不支持嵌套写法:.icon-big.icon{font-family:iconfont;...

2018-07-22 22:09:38

better-scroll和vue-router中scrollBehavior不兼容处理

在做一个实战项目时,首页是一个商品列表页,引入better-scroll实现滚动效果importBScrollfrom'better-scroll';mounted(){this._initScroll();},methods:{_initScroll(){this.$nextTick(()=>{...

2018-07-04 17:04:02

解决vue中keep-alive缓存问题

vue开发的时候,我们经常会有这样的需求:开发一个详细页面来展示商品的详细信息,根据列表页传入的id进行请求,拿到对应的数据进行渲染。但是一般在路由上都会加上keep-alive保持数据的状态,除非强制无缓存刷新,这就导致第一次进入详情页面时,可以在created中拿到id,但是返回后,再点击进入,就不会再走相应的生命周期了,无法拿到新的id这时候可以使用vue的$destroy()方法这是vue...

2018-07-04 11:57:49

小程序滚动组件,左边导航栏与右边内容联动效果实现

最近公司要开发小程序,趁着ui还没出来,先把一些功能实现一下。其中有一个功能,需要左边的导航栏和右边的内容对应联动,其实就想饿了么外卖的选单界面,但是在小程序里实现又有点不同了。最终效果如图(丑是丑了点,关注功能就好)右边内容容器是可以滚动的,可以使用小程序提供的scroll-view组件,要强调的是,必须给节点设置高度滚动的问题好解决,那么联动呢?我们需要的联动必须是左右相互的,即点击导航栏,内...

2018-06-25 13:55:47

koa配置后台

新建server文件夹,npminit初始化文件夹:新建服务器index入口文件,启动服务器,断开3000:npmimogoose-S,安装mongoose新建database文件夹,存放数据文件新建schema文件夹,存放分类数据文件,在里新建User文件,用于插入用户信息新建init文件,连接数据库的入口:在index文件中开始写入数据:开启mongodb数据库:mongod执行i...

2018-06-23 15:45:32

mpvue本地开发环境搭建

将解压文件中server文件夹复制到项目跟目录,并修改配置项在开发者工具中操作,第一次上传勾选模块上传,之后就勾选智能上传每次修改后需点击上传部署,不方便一般搭建本地开发环境本地安装mysql指南https://cloud.tencent.com/document/product/619/11442将CONF内的内容复制出来,添加到server下config.js里,并修改其中三项:https:...

2018-05-30 15:18:14

vue父组件异步获取数据传给子组件

最近一直在做一个vue移动端商城的实战,期间遇到一个小小的问题,值得一说,可能别人已经遇到过了,只是我第一次遇到而已。首页有个楼层区域,用于展示不同类别的商品,比如:水果,衣服,酒水等,布局都是一样的,所以将单个楼层独立出来成一个组件,只需要给响应的六层传入对应的数据就可以按需渲染了:先在父组件引入,并注册楼层组件importFloorfrom'@/components/pages/com...

2018-05-15 09:19:41

查看更多

勋章 我的勋章
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。