4 A_山水子农

尚未进行身份认证

暂无相关描述

等级
TA的排名 1k+

Vue全家桶开发Android和IOS移动端应用常见问题解决

1、input获取焦点弹出键盘时挡住input  当一个web页面有很多input输入框时,底部的input获取焦点弹出系统输入法键盘时,会出现遮住input情况,用户输入的内容不能正常的展示给用户,需要用户手动上滑,通过布局可以解决。如下左图输入法键盘遮住了备注输入框,右图是处理后的效果,备注输入框自动上滑。解决办法:使用相对定位relative和绝...

2019-08-11 12:15:09

解决微信小程序input、textarea层级过高穿透问题

  微信小程序原生组件camera、canvas、input(仅在focus时表现为原生组件)、live-player、live、pusher、map、textarea、video的层级是最高的,页面中的其他组件无论设置z-index为多少,都无法盖在原生组件上。从图中效果可以看出input输入的内容穿透到了选择列表自定义组件,解决办法:  1、使用if,当触发选择列表时隐藏input或...

2019-03-09 12:36:08

wepy父组件onload中请求数据,更新.sync动态传值绑定的数据,子组件onload中获取不到值。

  wepy的props传值分为静态传值和动态传值,静态传值比较简单,只能传递String字符串类型,不需要修饰符;动态传值需要使用.sync修饰符,如果想子组件向父组件传值,可以通过设置子组件props的twoWay:true来达到子组件数据绑定至父组件的效果。如果既使用.sync修饰符,同时子组件props中添加的twoWay:true时,就可以实现数据的双向绑定了,具体详细介绍看wepy...

2019-03-09 10:56:15

JavaScript实现Word、Excel、PPT在线预览

  在文件管理的项目中需上传各种文档保存到后台,然后前端需要根据后台返回的文件地址进行在线预览,图片、视频、PDF等格式的文件用window.open(url)或者window.location.href=url能够在线预览,但是Word(.doc,.docx,.xls,.xlsx,.xlsm,.ppt,.pptx格式)文档用同样的方式打开是默认下载而不是在线预览。  微软offic...

2019-02-23 12:08:55

Vue Quill Editor自定义图片/视频上传(Element UI + OSS)、字体、字体大小、段落等

  近期项目中需要使用富文本编辑器,开始想到的富文本编辑器是百度的UEditor,UEditor功能齐全、插件多,但是图片只能上传到本地服务器,如果需要上传到其他服务器需要改动源码,而且是PHP、JSP、ASP、.Net版本,同时UEditor体积过大压缩包有3.3M(jsp版本),加载速度慢。实际项目中并不需要那么多的功能,只需要基础的操作:字体、字体大小、标题、段落、图片上传、视频上传、居中对...

2018-08-07 00:31:39

Vue Element UI + OSS上传文件

  ElementUI提供了upload上传组件,可以到官网查看upload组件的详细介绍;查看upload组件的上传源码upload/ajax,使用的XHR对象上传文件,在项目实践中,发现该上传方法上传大文件时会出现问题,所以决定使用阿里云对象存储服务(ObjectStorageService,简称OSS),OSS详细介绍可以查看官网,本文主要讲解的是OSS上传文件的前端,Browser....

2018-08-06 23:08:04

vue监听scroll使用节流函数(throttle)或防抖函数(debounce)遇到的坑

  在浏览器DOM事件里面,有一些事件会随着用户的操作不间断触发。比如:重新调整浏览器窗口大小(resize),浏览器页面滚动(scroll),鼠标移动(mousemove)、文字输入(keyup)、射击游戏中(mousedown、keydown)。也就是说用户在触发这些浏览器操作的时候,如果脚本里面绑定了对应的事件处理方法,这个方法就不停的触发。  在项目中需要通过监听元素的scro...

2018-08-06 18:11:39

钉钉开发Android调试微应用

  不得不吐槽钉钉开发文档过于简单,今天研究了几个小时,踩了各种坑,终于可以调试微应用了,钉钉开发Android调试微应用,这是官网文档,首先我下载了Android开发包下载地址,开始的时候手机怎么也装不上,提示安装失败!后面发现必须先卸载非开发版的钉钉,然后在安装开发版的钉钉。1、远程调试Android设备使用入门  远程调试Android设备使用入门的官方文档地址Remote...

2018-05-31 17:41:19

JavaScript设计模式与开发实践

  最近在研读了腾讯AlloyTeam前端团队,高级工程师曾探编写的《JavaScript设计模式与开发实践》,所有设计模式的实现都遵循一条原则,即“找出程序中变化的地方,并将变化封装起来”。一个程序的设计总是可以分为可变的部分和不变的部分。当我们找出可变的部分,并且把这部分封装起来,那么剩下的就是不变和稳定的部分。  JavaScript没有提供传统面向对象语言中的类式继承,而是通过原型委托...

2018-04-26 11:31:46

微信小程序获取用户openid

1、wx.login(OBJECT)  调用接口获取登录凭证(code)进而换取用户登录态信息,包括用户的唯一标识(openid)及本次登录的会话密钥(session_key)。用户数据的加解密通讯需要依赖会话密钥完成。2、code换取session_key​ 这是一个HTTPS接口,开发者服务器使用登录凭证code获取session_key和openid。其中sess...

2018-03-26 17:12:53

JavaScript基于原型的面向对象系统

  我们知道在JavaScript中一切(引用类型)都是对象,对象是属性的集合,但是JavaScript中的对象到底是怎么创建的呢?在Java中是通过实例化类来创建一个对象,对象总是从类中的创建而来;在JavaScript中没有类(ES6中的class只是一个语法糖)的概念,那么JavaScript中的对象呢?JavaScript是基于原型的面向对象语言,在原型编程思想中,类并不是必需的,对象未必...

2018-03-20 21:40:54

js函数柯里化(function currying)

  currying又称部分求值。一个currying的函数首先会接受一些参数,接受了这些参数之后,该函数不会立即求值,而是继续返回另外一个函数,刚才传入的参数在函数形成的闭包中被保存起来。待到函数被真正求值的时候,之前传入的所有参数都会被一次性用于求值。  currying简单的说就是:只传递给函数一部分参数来调用它,让它返回一个函数去处理剩下的参数。你可以一次性地调用curry函数,也...

2018-03-20 16:59:30

零配置打包工具 Parcel 实践

  继Webpack之后,又一款打包工具Parcel横空出世,Parcel是快速、零配置的Web应用程序打包器;1、Parcel使用工作进程启用多核编译,并具有文件系统缓存,即使在重新启动后也可快速重新构建。2、Parcel支持JS,CSS,HTML,文件资源等等-不需要安装任何插件。3、在需要时,代码使用Babel,PostCSS和...

2018-03-06 00:05:15

使用Gulp生成SVG Symbols Sprites

  SVG即可缩放矢量图形(ScalableVectorGraphics)的简称,是一种用来描述二维矢量图形的XML标记语言.SVG图形不依赖于分辨率,因此图形不会因为放大而显示出明显的锯齿边缘.使用svg格式我们可以直接用代码来描绘图像,可以用任何文字处理工具打开svg图像,通过改变部分代码来使图像具有交互功能,并可以随时插入到HTML中通过浏览器来浏览。  在实现Web项目的图...

2018-02-08 14:01:42

JavaScript实现call、apply和bind

每个函数都包含两个非继承而来的方法:apply()和call()。这两个方法的用途是在特定的作用域中调用函数,实际上等于设置函数体内this对象的值。详细内容查看JavaScript中call()、apply()和bind()方法,1、call方法的实现下面看一个使用call方法的实例:functionadd(c,d){returnthis.a+this.b+c+d

2017-12-13 17:29:52

JavaScript作用域、上下文、执行期上下文、作用域链、闭包

  作用域、上下文、执行期上下文、作用域链、闭包是JavaScript中关键概念之一,是JavaScript难点之一,在应聘面试时必定会问到的问题,作为前端工程师必须理解和掌握。相信大家已经阅读了很多关于这方面的文章,但是看完之后似懂非懂。在我阅读了《JavaScript高级程序设计》、《高性能的JavaScript》这两本书后,我才完全理解这些概念。一、作用域(Scope)  作...

2017-11-07 00:50:14

VScode搭建TypeScript开发环境

TypeScript是JavaScript的类型的超集,它可以编译成纯JavaScript。编译出来的JavaScript可以运行在任何浏览器上。TypeScript编译工具可以运行在任何服务器和任何系统上,TypeScript是开源的。为什么选择TypeScript以及TypeScript优缺点阅读TypeScript入门教程。利用VScode搭建TypeScript开发环境前提

2017-10-17 16:17:39

浏览器HTTP缓存机制

浏览器打开页面时,需要向服务器发送请求,请求静态文件(图片,css,js等),这些静态文件通常不会经常修改,客户端可以将这些不经常修改的静态文件存储起来。当客户端再次请求时,可以直接从本地缓存中读取,这样减少了http请求和服务器负担,加快客户端加载网页速度,提高用户体验,那么这个就是客户端缓存的意义了。  Http缓存机制作为web性能优化的重要手段,很多同学仅仅只是知道浏览器会对请求的静态

2017-10-10 20:37:36

sass

Sass是对CSS的扩展,让CSS语言更强大、优雅。它允许你使用变量、嵌套规则、mixins、导入等众多功能,并且完全兼容CSS语法。Sass有助于保持大型样式表结构良好,同时也让你能够快速开始小型项目,  Sass有两种语法。第一种被称为SCSS(SassyCSS),是一个CSS3语法的扩充版本,这份参考资料使用的就是此语法。第二种比较老的语法成为缩排语法(

2017-09-20 22:23:17

gulp前端自动化构建工具:常用插件介绍及使用

Gulp是基于Node.js的一个构建工具(自动任务运行器),开发者可以使用它构建自动化工作流程(前端集成开发环境)。一些常见、重复的任务,例如:网页自动刷新、CSS预处理、代码检测、压缩图片、等等……只需用简单的命令就能全部完成。使用它,可以简化工作,让你把重点放在功能开发上;同时减少人为失误,提高开发效率和项目质量,让专注更为专注。如果你之前接触过Grunt,那上手Gulp就会觉得非常容易理解

2017-09-16 20:30:42

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。