自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ES6 模块与 CommonJS 模块有什么异同?

CommonJS 是对模块的浅拷⻉,ES6 Module 是对模块的引⽤,即 ES6。commonJS 对重新赋值(改变指针指向),但是对 ES6 Module 赋值会。CommonJS 和 ES6 Module 都可以对引⼊的对象进⾏赋值,即对对象内。Module 只存只读,不能改变其值,也就是指针指向不能变,类似 const;import 的接⼝是 read-only(只读状态),不能修改其变量值。不能修改其变量的指针指向,但可以改变变量内部指针指向,可以对。部属性的值进⾏改变。

2023-06-24 14:53:33 618

原创 amis框架实现sdk中使用tsx

模拟sdk方式中使用tsx

2023-06-04 17:28:49 870

原创 【前端js的事件循环原理】

js的事件循环(浏览器称为消息队列)

2023-04-16 13:42:02 216 1

原创 微信小程序弹框(组件)

微信小程序弹框组件

2022-07-06 11:35:42 3029 1

原创 前端面试准备

1原型链2.数据类型类型:Number、String、Boolean、null、underfine、Object、symbol3.new的时候发生了什么1.创建一个空对象,将它的引用赋值给this,继承函数的原型2.通过this将属性和方法添加至这个对象3.最后返回this指向的新对象,也就是实例。4、bind、call、apply相同点:都是为了改变this的指向不同点:1.bind是返回的一个函数需要调用例如:obj.myFun.bind(arg)()2.穿参不一样apply:

2021-11-15 15:06:53 254 1

原创 css和预编译处理

1.vue中scoped和css、less中需要覆盖element ui等方式使用 >>> 或者/deep/ 来直接覆盖2.vue中scss和scoped使用::v-deep

2021-07-28 10:21:18 71

原创 浏览器报错(vue)

1.方法定义了但是未使用Cannot read property ‘_withTask’ of undefined

2021-06-22 10:38:41 118

原创 微信小程序获取头部导航栏高度

1.获取高度let res = wx.getSystemInfoSync() ///微信api方法 let titleH; if (res && res['system']) { // 判断是否是安卓操作系统 (标题栏苹果为44px,安卓为48px) if (res['system'].indexOf('Android') > 0) { titleH = 48 } else { titleH =

2021-06-04 16:47:08 4092 1

原创 js简单的正则表达式详解

// 1.匹配用户名 // 规则描述: // 长度4-6位: {4,16} // 字母: [a-z] [A-Z] // 数字: [0-9] // 下划线: [_] // 减号: [-] // var usernameReg = /^[a-zA-Z0-9_-]{4,16}$/; // console.log(usernameReg.test('li')); ...

2021-05-17 10:33:18 165

原创 小程序项目总结

一、小程序更新逻辑 1.首先调用微信api:wx.canUse判断api这些是否可用 2..获取全局唯一的版本更新管理器,UpdateManager 对象,用来管理更新 3.调用公司接口getVIerson(arg1,arg2) ps:arg1:渠道 arg2:当前软件版本编号 返回type,根据type判断是否需要更新,是就调用微信接口updateManager.onUpdateReady 进行更新小程序等。...

2021-05-14 15:28:29 225 1

原创 lambda表达式

lambda表达式由于前几天小伙伴们发给我的面试题遇到了几种lambda表达式,给我难到了,于是待理解之后记录下来 // 1.匿名函数,返回a // var res = a => a // console.log(res(1));//1 //2 没加return,返回underfine // var res = a => { // a // } // console.log(res);//underfine // //

2021-04-30 11:44:55 58

原创 内部平台权限(ps:vue)

在写内部平台的时候难免会涉及到权限问题,例如侧边栏权限、页面权限、页面按钮权限等,于是乎就把自己用到的记录下来。1.新建一个auth.js用来记录权限auth.js/* * 映射用户标签->MD5加密* ep-admin:管理员 bcb547adb3acab85b9a4c7953005bee9*/export const authMap = { '6f36dc9dedcc33baf3808d8b179302bf':'ps', '6f36dc9dedcc33baf38

2021-04-21 11:14:08 202

原创 js手写面试题

数据类型判断typeOf适用于判断undefined、Boolean、Number、string、symbole、function,但是对于其他的类型,比如null、date来判断数据类型可能会不准确。这时候就可以使用Object.protytype.toString.call(object)来实现。例如:function typeOf(ocject){ let res = Object.prototype.toString.call(object).split(' ')[1]; res = re

2021-04-19 16:49:46 161

原创 vue 中watch 的那些骚操作

watch用法大全场景1:立即执行watch 是在监听属性改变时才会触发,有些时候,我们希望在组件创建后 watch 能够立即执行export default { data(){ return { name:joe } }, watch(){ name(){ handler:sayName, imediate:true }, methods:{ sayName(){ console.log("this.,name") } }

2021-04-19 15:36:26 139

原创 js方法之计算当月有多少天

1.计算当前月有多少天 // 获取当前月有多少天 getCountDays() { var curDate = new Date(); // 获取当前月份 var curMonth = curDate.getMonth(); // 实际月份比curMonth大1,下面将月份设置为下一个月 curDate.setMonth(curMonth + 1); // 将日期设置为0,表示自动计算为上个月(这里指的是当前月份)的最后

2021-02-22 15:59:41 769

原创 获取地址栏“?“后面的参数并转换为json对象

获取地址栏"?"后面的参数并转换为json对象有时候我们会遇到这样的需求,从app分享的链接需要在微信里面打开,这时候又需要展示用户的部分信息(如:邀请用户手机号),但是又没有别的办法获取。这时候就需要通过地址栏传参来解决。于是我写了一个后去地址栏并转换为Json的方法,可以说是非常的方便了代码如下 //地址栏转jSON对象 getUrlkey(url) { var params = {}; var urls = url.split("?");//分割地址和参数

2020-09-29 17:42:13 589 1

原创 vue2.0原生分页功能

基于vue的分页功能,包括跳转记忆功能等html:<!-- --><template> <div class="newsCenter" :style="footer" ref="newsCenter" id="newsCenter"> <div class="bc"></div> <div class="title f-22-600 p-t-20 t-a-c m-b-20">新闻中心</div>

2020-09-01 10:35:34 535

原创 vue+ts实现的原生分页功能

由于项目需求,需要一个分页功能,没有合适的轮子,只好自己造一个了。1.html方面 <div class="pagination m-t-40 m-b-40"> <div class="pag-item tip"> <span>第{{currentPage}}/{{totalPage}}页</span> </div> <div class="pag-item first" @click="page('

2020-07-16 18:17:51 905

原创 移动端适配-(postcss-pxtorem)

基于vue+vant的移动端适配(rem)1.下载lib-flexible --savenpm i lib-flexible --save2.在main.js中引入lib-flexiblemain.jsimport 'lib-flexible/flexible'3.设置meta标签<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, u

2020-07-09 09:37:24 2751

原创 兼容问题,如:钉钉首页无法加载,微信小程序iphone x兼容问题等。

由于试用了computed导致钉钉首页无法加载如:注释了就好了

2020-07-03 16:13:38 2147

原创 谷歌报错

由于修改了一些打包配置文件导致页面跳转失败和页面资源加载失败错误如下在添加了vue-router的情况下,使用了base导致页面加载失败解决:合作开发中修改了打包配置导致失败如:非生产环境下改为/,即可;ps:vue-cli版本4.0...

2020-07-03 09:34:01 244

原创 判断当前所处的环境,包括浏览器类型,终端类型等

判断当前浏览器,用来处理浏览器兼容问题1.微信浏览器和钉钉浏览器 var ua = navigator.userAgent.toLowerCase(); var isWeixin = ua.indexOf("micromessenger") != -1; if (isWeixin) { alert("微信浏览器"); } else if (window.navigator.userAgent.includes("DingTalk")) {

2020-07-02 09:47:02 1064

原创 vue-cli 4.0中区别开发环境和生产环境

vue-cli 4.0区分不同的开发环境场景,官网表单提交功能中,由于测试环境和生产环境的ip不同,需要的clientid不同,测试在每次部署测试环境的时候都需要我手动修改ip,很是麻烦,所以区分下不同的环境打包。1.新建三个不同的文件来区分不同的环境,例如我这里是开发(development)、测试(test)和生产(production)在根目录下创建三个文件例:.env.developmentNODE_ENV = 'development'//指定当前环境模式VUE_APP_CURR

2020-07-01 18:22:09 3774

原创 判断浏览器

window.onload = function () { var Sys = {}; var ua = navigator.userAgent.toLowerCase(); var s; (s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1]: (s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] : (s = ua.match(/chrom.

2020-06-30 09:39:55 176

原创 错误总结

音频播放时出现 Uncaught (in promise) DOMException: play() failed because the user didn’t interact with the document first. https://goo.gl/xX8pDD解决:第一步,在chrome浏览器中输入:chrome://flags/#autoplay-policy第二步,在Autoplay policy中将Default改为No user gesture is required...

2020-06-14 13:36:54 259

原创 单页面多页面区别

单页面与多页面的区别:单页面多页面组成:有一个主要页面和其他片段页面组成由多个完整页面组成css、js公用加载每个页面都分开加载url模式:a.com/#/pageone a.com/#/pagetwourl模式:a.com/pageone.html a.com/pagetwo.html刷新方式:局部刷新刷新方式:整个页面刷新用户体验较好体验较差,页面切换速度比较慢参数传递:容易依赖cookie localstorage、url传递等搜索

2020-05-25 23:32:29 306

原创 redux及结合react、dva的使用

三种情况:1.redux的简单使用新建action.js,用来存贮数据及类型const action2 = () => { return { type: "send_type", value: "我是action" }}module.exports = { action2}新建reducer.js,用来接收action...

2020-05-05 18:09:16 1113

原创 react生命周期

//组件加载的时候constructor(props){super(props)this.state = {msg:‘豪哥哥’}}//组件将要挂载componentWillMount(){}//数据渲染render(){ }//组件挂载完成的时候componentDidMount(){ }//组件数据更新的时候//是否需要更新should...

2020-05-03 21:38:03 101

原创 es6新语法

环境搭建方面:部分浏览器不支持,如:1.解构赋值数组:let [a,[[b]] c] = [1,[[2]],[3]] 可嵌套a=1,b=2,c=3字符串:let [a,b,c,d] = ‘hel’ 不完全结构a=‘h’,b=‘e’,c=‘l’,d=underfine对象:let obj = {a:2,b:3}let {a:x,b:y}=obj;x=2;b=3剩余运算符...

2020-04-15 19:15:45 155

原创 原生弹框2(vue)

html、css、js<template> <div class="about"> <button id="modal" @click="appear">点击弹窗</button> <div class="container" id="modalContent" v-show="status"> <...

2020-03-19 17:28:18 521

原创 eslint的配置

1.安装eslintnpm install eslint -g期间遇到了这个错误。解决:1.使用管理员运行PowerShell2. 执行:set-ExecutionPolicy RemoteSigned3. 选择y2.eslint初始化项目eslint --init3.这时候会自动创建一个.eslintrc.js里面的rules就是用来自定义规则区域,"semi" ...

2020-03-19 17:03:05 108

原创 原生弹框

1.style样式 <style> .container { width: 100%; height: 100%; display: none; } .modalbg { position: fixed; wi...

2020-03-19 11:44:54 193

原创 原生组件-select框

1.html页面 <select class="leaveSelect"> <option value="1" label="1测试"></option> <option value="2" label="2测试"></option> <option val...

2020-03-09 18:08:11 393

原创 wangeditor的使用

1.安装npm install --save wangeditor2.页面中使用<template> <div id="wangeditor"> <div ref="editorElem" style="text-align:left;"></div> </div></template><sc...

2019-11-30 17:57:36 175

原创 vue项目一键生成.vue模版

介绍vscode软件的安装以及生成vue模板1.安装vscode官网地址:https://code.visualstudio.com/2.安装一个插件,识别vue文件插件库中搜索Vetur或者snipets,下图中的第一个,点击安装,安装完成之后点击重新加载3.新建代码片段文件-->首选项-->用户代码片段-->点击新建代码片段--取名vue.json 确定...

2019-11-20 22:40:29 837

原创 基于element的增删改查思路

基于element的增删改查思路1.find查询数据 //初始化页面表格数据 getTableList(arg) { var params = { pageIndex: this.pageIndex, size: this.size }; if (arg && this.isSearching) {...

2019-11-20 16:15:49 277

原创 基于vue filter封装的时间格式转换

1.新建filter.js文件夹用来写转换的脚本import Vue from "vue";export default { dateFormat(dateTime, fmt) { if (dateTime) { let date = new Date(); //ios new Date()需要把'-'转换成'/' if (typeof date...

2019-11-13 12:55:33 458 1

原创 基于vue封装的正则表达验证

由于公司项目用到的表格比较多,考虑用到了vue+element开发,其中注册的表单填写,以及表格的增删改查用到了比较多的正则验证,element 也有自己封装的必填校验,以及简单的正则,但是这并不能满足我们公司的需求,所以特此封装了自己的插件来调用。1.首先封装一个js进行囊括正则。formValidation.jsconst formValidation = { mobile: ...

2019-11-08 12:49:08 2215

原创 基于axios封装2

一、下载axios插件npm install axios -S二、利用promise封装一个http请求(http.js)import axios from "axios";import api from "./api"; //请求前缀的地址import router from "@/router";import { Message } from "element-ui";// i...

2019-11-07 14:53:43 136

原创 vue中post请求传值后台为null的解决方法

关于后台传值那些问题:在完成注册功能的时候遇到了一些问题,原因如下: ``` 在向后台发送post请求的时候,后台不能接收到前端的传值(后台接收到的值全部为null)解决方法:1.设置请求头header为 “content-type”: “application/x-www-form-urlencoded”2.使用qs转换格式config.data = qs.stringify(...

2019-10-28 18:46:38 10516

空空如也

空空如也

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

TA关注的人

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