自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 web官网适配,echarts 鼠标tooltip偏移

项目场景:提示:这里简述项目相关背景:开发某基金官网,适配问题问题描述提示:这里描述项目中遇到的问题:例如:数据传输过程中数据不时出现丢失的情况,偶尔会丢失一部分数据APP 中接收数据代码:@Override public void run() { bytes = mmInStream.read(buffer); mHandler.obtainMessage(READ_DATA, bytes, -1, buffer).sendToTarget(); }原因分析:提示:这里

2022-05-05 17:45:31 1670

原创 typescript初学(2)

1.枚举 enum Direction { Up = 'Up', Down}console.log(Direction.Up)console.log(Direction[0])// 常量枚举, 提升性能, 只有常量值可以常量枚举(计算值不可以)const enum Direction { Up = 'Up', Down}const value = 'Up'if (value === Direction.Up){}// 编译文件, 提升了性能const value = 'Up'

2020-11-29 21:14:27 152

原创 typescript初学(1)类型断言、class

1.类型推论 联合类型和类型断言let str: string~~str = 12334~~ // 提示出错 ---类型推论str = 'str'// union typeslet numberOrString: string | number // 只能使用string和number的共有方法// 类型断言function getLength(input: string | number):number { const str = input as string // as告诉编译器是

2020-11-29 15:26:40 264

原创 vue3新特性-setup函数执行时间

setup() 函数 , 专门为属性所提供的新属性,它为Vue3的 Composition API 新特性提供了统一的入口setup() 函数的执行时间 会在 beforeCreate() 和 created() 之前

2020-09-27 16:44:02 2652 3

原创 vue3引入less,使用less全局变量

先下载less:npm i less-loader less --save-devnpm i style-resources-loader --save-devvue.config.js配置方法1css: { // 是否使用css分离插件 ExtractTextPlugin extract: true, // 开启 CSS source maps? sourceMap: false, // css预设器配置项 loaderOptions: { .

2020-09-25 10:41:57 8509 2

原创 vue3初体验(vue.config.js配置)

vue-cli4脚手架搭建完成后,项目目录中没有 vue.config.js 文件,需要手动创建const path = require('path');const webpack = require('webpack')const CompressionWebpackPlugin = require("compression-webpack-plugin"); // 开启gzip压缩, 按需引用 const productionGzipExtensions = /\.(js|css|json|t

2020-09-25 10:32:46 214

原创 Vue3从零开始初体(vuecli4)

这里介绍的是vue cli4创建项目搭建项目之前,请确认好你自己已经安装过node, npm,vueclivuecli4没安装的参考:npm install -g @vue/cli环境已搭建好,开始!1.进入目录,创建项目2.我们这里选择手动配置按 ↓ 选择“Manually select features”,再按 Enter3.选择你需要的配置项通过↑ ↓ 箭头选择你要配置的项,按 空格 是选中,按 a 是全选,按 i 是反选。具体每个配置项表示什么意思在下面会有说明3.1 选择v

2020-09-25 10:16:19 155

原创 微信小程序用Promise封装请求(axios)

import {storage} from './storage.js' //设置全局请求URLconst API= 'http://localhost:3030';// 重复请求的utlconst pending = {} const isHttpSuccess = (status) => { return status == '200' }// error提示 const errorHandle = res => { wx.showToast({

2020-09-05 20:46:15 1299

原创 安卓中键盘弹起,input输入框被键盘遮挡

问题:安卓手机点击输入框,键盘弹起挡住输入框,看不到输入内容解决方案:主要是监听页面高度变化,并将input框滚动到视口内// 记录原有的视口高度const originalHeight = document.body.clientHeight || document.documentElement.clientHeight;window.onresize = function(){ var resizeHeight = document.documentElement.clientHei.

2020-07-13 11:12:21 1434

原创 防抖与节流的最佳方案

防抖函数防抖(debounce): 事件响应函数在一段时间后才执行。如果在这段时间内再次调用,则重新计算执行时间,当预定时间内没有再次执行,该函数则执行相应时间应用场景:scroll事件滚动触发搜索框按钮提交浏览器resize事件函数节流(throttle): 如果持续触发事件,每隔一段事件只执行一次事件应用场景dom拖拽射击游戏鼠标移动监听滚动事件解决:1.使用underscore.js库https://underscorejs.net/#2.手写(仿undersc

2020-05-21 17:47:35 275

原创 vue(input频繁搜索) 防抖、取消防抖

前言需求:ui框架用的iview,需求是tree组件增加可筛选功能,enter键和input输入都可搜索。问题:如果用户快速输入值,就会持续触发筛选功能,用户体验受到影响,如果是发送请求甚至加大服务器的压力enter键和input输入都可搜索,会调用两次方法通过防抖优化性能:<Input prefix="ios-search" v-model.trim="searchVal" placeholder="请输入机构名称" style="width: auto" @on-change="

2020-05-21 17:10:18 6072 2

原创 Vue相关知识

响应式数据原理1.Object.definePropoty2.vue初始化数据时,会对data中的属性进行观测,通过Object.property来劫持各个属性的getter、setter,会进行依赖收集, 在数据变动时会通知相应的依赖进行通知更新操作。数组如何检测变化1.重写了数组方法,对数组进行了原型链重写2.对数组的每一项进项观测(是对象也会进行更新)vue源码 src/comp...

2020-05-05 18:17:46 161

原创 JS模块化

1.开发一个模块管理引擎let module1 = (function(){ let moduleList = {} function define(name, modules, action){ modules.map((m, i) => { modules[i] = moduleList[m] }) moduleList[name] = a...

2020-05-04 10:18:13 102

原创 while(firstChild = el.firstChild)

nodeFragment(el){ let f = document.createDocumentFragment(); let firstChild; whtie (firstChild = el.firstChild){ f.append(firstChild) } return f}1.把el.firstChild 赋给 firstChild2.当el.firstChi...

2020-03-26 17:20:57 844

原创 vue中使用富文本编辑器Quill

下载Quillnpm install quill封装组件<template> <div> <div class="editor"></div> </div></template><script>import Quill from 'quill'import 'quill/dist/q...

2020-03-20 10:41:41 925 1

原创 小程序如何使用computed、watch

1.安装 computed:npm install --save miniprogram-computed2.作为 behavior 引入const computedBehavior = require('miniprogram-computed')(视自己文件路径)behaviors: [computedBehavior],(在需要的页面中引用)使用watch: { ex...

2020-03-20 10:17:31 654 1

原创 javascript深克隆

方法一:JSON.parse(JSON.stringify)方法二:function deepClone(source) { if (!source && typeof source !== 'object') { throw new Error('error arguments', 'shallowClone') } const targetObj = s...

2019-11-20 09:59:58 120

原创 React creat-react-app配置sass

#一、安装依赖cnpm install sass-loader node-sass --save-dev (npm可能出错)#二、配置文件1.打开node_modules/react-scripts/config/webpack.config.dev.js在model 的rules中找到oneof插入{ test:/\.scss$/, ...

2019-02-26 15:59:29 233

原创 vue 幸运大抽奖源码

项目有个抽奖需求,此项目运用vux框架页面绘图是用canvas画图 &amp;amp;lt;div class=&amp;quot;canvas-wrapper&amp;quot;&amp;amp;gt; &amp;amp;lt;canvas ref=&amp;quot;canvas&amp;quot; id=&amp;quot;canvas&amp;quot; width=&amp;qu

2019-02-25 10:59:51 1898 1

原创 axios token过期刷新

Axios token刷新,拦截器设置此项目是用vue做的管理报表系统,代码中的“quasar”是基于vue的框架需求:出于安全性考虑,每次发起请求需要在header里带上token,并设置过期时间,在过期时间内重新请求可以刷新token,使用户不必被强制退出重新登录。login页面逻辑: 登录成功之后存储token过期时间、token window.localStorage.se...

2019-01-22 14:58:49 8322

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除