logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

JavaScript实现锁功能,同一时间多次异步请求函数都取到返回值,只触发一次异步请求

问题有个需求,某个异步请求函数可能被多次调用,重复调用消耗资源,需要对其进行优化每次调用该函数都能取到返回值只发送一次异步请求这个和节流、防抖功能不一样,节流防抖会丢弃掉中间的请求,中间的请求获取不到返回值方案一很容易想到使用同步非阻塞方案,在第一个点击时,进入loading状态,之后的点击判断loading就等50毫秒继续检查loading的值,直到loading为false,返回localEn

前端多个vue项目公共组件的三种方法(推荐npm file引入)

背景目前很多公司的开发模式都是多个前端一个后端。笔者所在的公司就是这样,移动端前端的产品有两个,这两个产品有很多内容是相似的、甚至一样的。包括页面、样式、JS逻辑等。这样就想将这些公共部分封装成公共组件供这两个项目调用。Vue很好的提供了单个项目公共组件的解决方案,包括组件复用、传参、监听、通讯、插槽等功能。但多个vue项目怎么使用公共组件呢。这篇文章就来介绍前端多个vue项目公共组件的三种...

微信小程序实现数据侦听器watch,包含销毁watch和子属性的watch

原因在上一篇《微信小程序实现数据侦听器,类似vue的watch,替代Observer》中,我们实现的watch功能,但使用起来还是有点麻烦。能不能像Vue那样直接写个watch属性呢?当然可以,这就是写这一片博客的目的。我们要实现以下几个目标:支持侦听对象的变化,侦听对象的子属性的变化,支持立即执行少量几行代码即可引入,不修改之前代码结构,不需要每个页面都引入使用方式和vue的wa...

#小程序
微信小程序实现类似Vue的全局路由(实现日志记录)

原因在开发中有个需求,要统计用户在每个页面的访问量,和停留时间。这个在Vue项目中很好实现,利用全局路由,在router的beforeEach方法和afterEach方法中做事情就可以了。但小程序中没有全局路由,又不想在每个页面的onShow和onHide中写重复代码,该怎么实现呢?解决方案先说明这个解决方案没有完美的解决,还是有些问题,有部分问题没法解决。方法就是重写微信的三...

#小程序
Vue页面跳转优化,loading中间状态和骨架屏

原因先看一段简单、常规的vue代码。<template><div v-if="list && list.length>0"><div v-for="row in list"><span>{{row.xxx}}</span>//显示剩下数据</div...

微信小程序实现数据侦听器,类似vue的watch,替代Observer

背景既然小程序的组件已经有Observer功能,那为什么还要手写watch功能呢?Observer只能在Component中使用,没法在Page中使用。若是想在Page中监控某一数据的变化,Observer做不到。Observer属于小程序的新功能,只能在高版本微信使用,低版本微信无法使用。公司的小程序就因为使用了Observer功能,导致很多低版本微信用户无法使用这个小程序。实现...

#小程序
Vue Cli3 添加Loader和plugin

添加loader在vue.config.js中的chainWebpack中添加配置:chainWebpack: config => {// my-loader为loader的别名,./src/myLoader.js是loader的位置config.resolveLoader.alias.set('my-loader', path.resolve(__dirname, './src/myLoa

Vue项目自动设置版本号,版本号变更清空缓存

需求项目中在cookie和localStorage中,存储了不少信息,希望每次发布后能清空cookie和localStorage,避免缓存和版本不一致带来的影响。方式一自定义webpack的plugin,在afterPlugins钩子函数中修改package.json文件版本号,使用当前时间作为版本号在main.js中读取package.json文件,判断当前版本号是否和localStorage中

    共 18 条
  • 1
  • 2
  • 请选择