自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 发布订阅者模式

基于一个事件通道,希望接收通知的对象(称为订阅者subscriber)通过自定义事件订阅主题,激活事件的对象通过发布主题事件的方式来通知订阅者。事件发布/订阅模式 (PubSub) 在异步编程中帮助我们完成更松的解耦, 甚至在 MVC、MVVC 的架构中以及设计模式中也少不了发布-订阅模式的参与。优点: 在异步编程中实现更深的解耦缺点: 如果过多的使用发布订阅模式, 会增加维护的难度例子最简单的例子就是 button 按钮的点击事件,在用户没点击之前,我们已经为它写好了点击之后应该做什么操作,这个

2020-07-05 22:40:02 323

原创 vue antd 自定义搜索筛选栏组件封装

这里写自定义目录标题1、背景2、分析3、实现(1)form表单组件(searchForm.vue)示例代码:(2)formItem表单项组件(formItem.vue)示例代码:4、关键点5、参数配置项解释(1)示例:(2)参数传递解析的流程:(3)特殊情况的处理6、按钮组7、使用方式示例8、完整代码(1)searchForm.vue(2)formItem.vue依赖引入的一些函数方法 tools.js1、背景vue后台管理系统,会有很多表格页面,表格上方会有一些搜索选项。表格直接使用a-table即可

2022-04-01 00:26:18 4456 2

原创 weixin-js-sdk使用

注意:以下内容自身的项目为uniapp编译生成微信小程序。小程序内嵌webview。一、微信初始化安装微信sdknpm install weixin-js-sdk --save页面引入import wx from "weixin-js-sdk";微信初始化wx.config({ debug: false, // 开启调试模式, appId: data.appId, //必填,企业号的唯一标识,此处企业号corpid timestamp: data.t.

2021-01-19 16:24:12 10858 1

原创 Vue性能优化

Vue 项目性能优化现在Vue3.0都快发布了为什么还要优化2.0的项目?因为市场上公司90%的项目全是Vue2.0的项目,迁移的话成本太高,所以只能进行性能的优化调整。废话就不多赘述了,直接开始吧。一、活用异步组件Vue-cli打包的时候会把所有依赖的文件打包成一个很大的一个js文件中,当用户浏览网页的时候需要把整个js文件拉取过来,这样会导致页面在初始化的时候,页面会出现长时间的白屏情况,这个问题确实是蛮棘手的。设想一下如果在页面中有很多的功能点,每个功能点又对应着不同的功能弹窗或者表单,首

2021-01-19 11:02:37 494

原创 手写一个拖拽

手写一个拖拽原声js实现拖拽需要三大事件:mousedown 鼠标按下事件mousemove 鼠标移动事件mouseup 鼠标抬起事件<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title

2021-01-06 14:40:55 603

原创 JSON.stringify()和JSON.parse()不能转换RegExp的问题

前言有一个Json对象如{"name": 'admin', "pattern": /^[0-9]+$/},用JSON.stringify()转成Json字符串的时候发现转成了"{"name":"admin","pattern":{}}",把正则对象转成了空对象。以至于调用JSON.parse()时,把这条正则数据给丢失了。原因JSON.stringify会处理的几种类型: String, Number, Boolean, null, Array, Object不会处理的几种类型: Date, Reg

2020-07-07 19:09:59 2151 5

原创 手动实现 call、apply、bind

手动实现 call、apply、bind改变 this的指向,就是将函数fn放入传入的context中,然后执行context[fn](),此时的fn中的this就变成了context,在函数执行完毕之后,需删除context中的fncall判断当前 this 是否为函数,防止 Function.prototype.myCall()直接调用context为可选参数,如果不传的话默认上下文为 window为 context 创建一个 Symbol(保证不会重名)属性,将当前函数赋值给这个属性处理

2020-07-05 22:28:46 174

原创 vue可复用的组件开发

开发可复用组件编写可复用的组件在实际开发中是非常常见的需求,根据需求的不同会有很多不同的组件出现,有简单的比如Alert这样的弹窗组件,也有复杂些的日历组件等等今天我们一起来写写组件(Vue组件),看看从中能不能掌握什么知识点吧!!!编写一个轮播图组件轮播图组件想必是使用最多的组件之一了,尤其是每个首页当中必定会出现它的身影。那么,我们就闲言少叙了,实现一个适用于移动端上的轮播图组件吧...

2020-04-02 13:31:38 538

原创 项目开发中的css小技巧

拒绝JavaScript,这三个CSS技巧你一定用的上本文介绍三个非常棒棒的CSS技巧,完全可以在你的项目中代替JavaScript,一起来看看这些技巧吧。:active伪类与CSS数据上报超实用超高频使用的 :empty伪类用好 only-child伪类1. :active伪类与CSS数据上报如果想要知道两个按钮的点击率,CSS开发者可以自己动手,无需劳烦JavaScript开发...

2020-04-01 13:24:43 166

空空如也

空空如也

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

TA关注的人

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