自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 nodejs 连接mysql8以上版本问题 Client does not support authentication protocol requested by server; con

原因:由于mysql8以上的版本采用了新的密码格式解决方法:修改mysql的密码格式ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

2021-08-05 23:11:14 257

原创 vscode无法使用cnpm

1.鼠标右击通过管理员身份运行vscode2.在终端执行 get-ExecutionPolicy,显示Restricted表示状态是禁止的3.执行set-ExecutionPolicy RemoveSigned 解除禁用

2021-06-26 11:48:50 462 1

原创 Cannot read property ‘_wrapper‘ of undefined

vue页面报错Cannot read property '_wrapper' of undefined原因:页面绑定的@click事件在methods没有定义(检查一下)

2021-05-18 17:02:29 677

翻译 qs转数组

标题 qs转传数组bugqs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'indices', allowDots: true })

2021-05-15 19:33:46 683

原创 ts+vue后台管理数据导出问题

标题 使用iframe导出数据,postment调用可以下载。在浏览器无法打开。内容被截断,换成a标签下载1、在实例化Blob时传入参数声明数据格式 propsCommissionListExcel(params).then((res)=>{ console.log(res) const link = document.createElement('a') let blob = new Blob([res], {

2020-12-09 16:38:41 239

原创 webpack使用html-loader打包html里图片报错

标题if (!scriptUrl) throw new Error(“Automatic publicPath is not supported in this browser”);原因:url-loader默认使用es6,而html-loader把html里面的图片转成了common.js。所有不能被url-loader识别解决方案:1.在url-loader配置里面添加 esModule:false{ //问题:处理不了html里面的图片

2020-11-21 11:15:58 1339

原创 node.js环境变量配置问题

node.js配置环境变量1.在我们安装node.js时,平时全局安装的插件默认安装在c盘。这就容易导致系统盘空间不足。所有需要放到别的盘。这就需要配置环境变量了下面是配置环境变量的详细解读1.下载node.js2.安装到d盘下的nodejs文件夹(我是放在d盘的)3.在nodejs文件夹下面创建两个文件3.1 node_cache(资源缓存的文件)3.2. node_global(全局安装的资源都在这个文件夹下面)4.启动依次输入下面两个命令4.1 npm config set p

2020-11-15 20:21:43 463

原创 vue导出数据

var fObj = document.getElementsByTagName("iframe"); if (fObj.length > 0) { for (var index = 0; index < fObj.length; index++) { document.body.removeChild(fObj[index]); } } var f = document.createElement("iframe"); f.style.p...

2020-10-09 18:09:24 101

原创 二叉树

二叉数的表示方法1.数组:如果是完全二叉数,用可以用数组表示,只需把每一个节点按照循序排列即可,如果需要查找左边的子节点,只需要当前节点乘以二,右边则需乘以二再加一即可。但是如果不是完全二叉数,那么需要转成完全二叉数,缺少的地方用空节点表示。这样会照成空间浪费2.链表表示方法链表表示方法,每一个节点都有数据,左指针和右指针。如果左指针没有数据则设置为空即可。这样可以减少空间浪费。一般都采用此方法二叉搜索树1.父节点下左边的键值小于父节点的键值。2.父节点下右边的键值大于父节点的键值3.父节点

2020-09-26 23:22:49 45

原创 2020-09-08

ionic创建angular项目1.全局安装ionic和cordovacnpm i -g ionic cordova2. 进入项目目录安装项目ionic start mydemo3.如果需要创建到tabs栏的项目,则在命令后面添加tabsionic start mydemo tabs4.进入项目运行项目ionic serve...

2020-09-08 21:31:31 88

原创 angular

搭建项目1.安装nodejs2.安装脚手架3.全局安装angular脚手架 cnpm install -g @angular/cli4.创建项目:进入项目目录5 执行:ng new argulardemo6.打开项目:ng serve --open创建组件1.通过命令行创建:ng g component components/组件名(components为创建的目录名)2.创建后会自动在app.module.ts文件自动引入3.引入组件:(componentName为组件名)数据绑定

2020-08-23 21:48:25 227

原创 实现深拷贝

未嵌套数组或对象的深拷贝1.通过Object.assgin方法实现深度拷贝 let obj = {name:"wxt",age:25} let obj1 = Object.assign({},obj); obj.age = 18; console.log(obj) console.log(obj1)2.通过扩展运算符实现 let obj = {name:"wxt",age:25}; let obj1 = {...obj}嵌套数组或对象的深度拷贝1.通过JSON.stringify方

2020-08-21 10:37:05 90

原创 Object.assgin方法

Object.assgin方法合并数据1.数组于对象合并,数组的值在前面2.数组于数组合并,第二个参数的数组会覆盖第一位数组参数的下标Object.assgin方法 深浅拷贝1.object.assgin方法可以实现第一成的深度拷贝2.在一个嵌套的对象或数组里只能实现浅拷贝...

2020-08-21 10:14:47 447

原创 正则表达式

标题 0-100包括100的正整数 /^(0|[1-9][0-9]?|100)$/;

2020-08-18 12:00:28 61

原创 vue+element后台管理系统(下载excel表格)

标题 vue后台管理系统下载excel表格1.调用后台接口传入三个参数,url,data参数,第三个参数为一个对象,表格下载返回类型。2.创建 Blob实列传入后台返回的数据和以对象形式声明类型参数。3.获取数据后调用window.URL。createObjectURL方法。传入blob实列对象。4.接着生成url地址5.定义url变量接收6.创建一个a标签7.把url赋值给a标签的href属性8.调用a标签的setAttribute方法传入两个参数9.第一个参数为download第二个

2020-08-12 15:51:18 890

原创 ts 命名空间

标题 ts命名空间1.通过namespace关键字加上常量名定义一个类。在该类里面的属性,方法或变量都是其私有的,因此不会造成变量冲突。在改类里面定义的方法或类需要通过export导出。

2020-08-10 21:59:57 591

原创 ts 类的装饰器

标题 ts 类的装饰器1.类的装饰器可以动态的扩展类的属性和方法2.类的装饰器是一个函数,该函数的参数接受类本身,在该方法里面通过参数动态的扩展类的属性和方法3.通过@符号加上函数名在类的上面定义...

2020-08-10 21:55:54 533

原创 git操作命令

git操作命令1.如果是第一次提交代码到仓库需要认证姓名和邮箱git config --global user.email "[email protected]"git config --global user.name "王咸涛"2.提交代码2.0:添加到暂存区 git add .2.1:提交代码 git commit -m "提交" git push3.拉取代码将合并后的最新代码拉取到本地 git pull创建分支git branch pre切换分支git

2020-08-02 16:39:59 92

原创 vue

标题 $nextTick的作用1.当修改了data属性值后。立即获取dom元素的值时。需要用到nextTick2.nextTick在dom元素更新完成后触发标题 methods和计算属性的区别1.methods定义的方法当数据发生变化时需要重新调用函数2.计算属性当依赖的属性改变时就会触发3.计算属性在双大括号里面定义但是没有加上小括号4.大括号里面的属性是计算属性的函数名5.在计算属性的方法里面操作的data里面的数据就是计算属性的依赖6.当data里面的属性被在计算属性里面操作时。当该

2020-07-25 16:16:10 82

原创 vue-loader

标题 vue-loader1.vue-loader是vue文件的一个加载器2.将template/js/style转换成js模块3.使vue可以写es6,style可以用sass、less

2020-07-25 14:25:55 94

原创 vue的优点

标题 vue的优点1.轻量级,大小只有几十kb。2.渐进式开发。3.虚拟dom。大大提高了页面的响应速度4.组件化。5.双向数据绑定6.简单易用

2020-07-25 14:21:47 141

原创 ajax请求

标题 get请求1.创建XMLHttpRequest对象2.var xhr = nre XMLHttpRequest()3.调用open方法配置请求类型和URL4.xhr.open(“type”,“url”,true)5.参数拼接在url后面6.第三个参数为是否异步否(默认异步)7.定义onreadyStatechange 方法监听数据响应8.xhr.onreadyStatechange = function(){}9.判断status 状态是否是200 并且readystate是否等于

2020-07-25 13:35:31 45

原创 axios拦截器

标题 axios请求拦截整体思路:1.定义一个js文件 (http.js)2.在js文件里封装请求3.axios.create()方法里面配置url,请求头,请求时间4.在create方法外部给axios添加interceptors.request.uer方法5.该方法接收两个参数6.第一个参数为config方法(箭头函数)7.config方法请求前触发8.第二个参数为error方法(箭头函数)9.error方法请求错误触发标题 axios请求响应拦截整体思路:1.调用axios的

2020-07-23 20:36:05 118

原创 vue-router两种模式及区别

标题 hash模式1.hash模式通过onhaschange事件监听哈希值的变化然后根据变化切换页面2.hash模式在哈希值前面带有#号3.当修改哈希值不会重新刷新页面4.分享的页面不能被打开,#号不能被浏览器解析5.当支付完成无法重定向到指定的地址标题 histrory模式1.可以通过histrory往前或往后跳转多个页面2.当页面刷新会返回4043.需要后台人员做一些配置。如果匹配不到静态原。需要重定向到 index页面...

2020-07-22 19:58:44 266

原创 集合结构之交集

标题 交集基本思路:1.在原型对象创建交集方法2.创建新的集合3.获取当前集合4.循环当前集合5.判断传进了的集合是否在当前集合里面6.进入true判断7.把集合的属性放到新的集合里面8.返回新的集合...

2020-07-21 21:18:24 152

原创 集合结构之并集

标题 并集1.在集合类构造函数添加并集方法2.获取当前的集合3.创建新的集合 new Set()4.遍历当前集合饭后添加到新的集合里面5.add方法已经过滤属性,所以不存在重复6.获取传进来的集合7.通过传进了的参数的values方法获取8.遍历传进了的集合9.把传进来的集合放到进的集合里面10.add方法已经过滤重复属性11.返回新的集合12.创建两个集合实例对象13.用集合实例对象调用并集方法传入另一个集合14.返回新的集合15.是不是很神奇...

2020-07-21 20:57:42 715

原创 集合结构

标题 set集合的特点1.set集合的元素是无序的2.set集合的元素不能被重复标题 封装集合结构1.创建集合类构造函数2.添加值为对象的items属性标题 添加方法1.添加属性方法1.0:判断集合是否存在该属性1.1:如果存在返回false1.2:通过this.items[value] = value 添加属性2.添加判断是否存在该属性方法2.0:通过hasOwnPropety方法添加2.1:this.items.hasOwnPropety(value);2.2:如果存在则返

2020-07-21 20:06:55 251

原创 doctype的作用

标题 doctype1.doctype是document.type的缩写(文档类型)2.在html页面必须声明文档类型3.如果未声明,浏览器会按照自己的标准解析html4.需要在html最前面声明放弃doctype。5.声明放弃后doctype后,浏览器会按照W3C标准解析文本...

2020-07-21 16:22:29 63

原创 ES6 const和let声明

标题 const声明1.const声明的是常量。不能被修改2.当声明时会创建自己的块级作用域3.变量不会被提升let声明1.变量名不能被重复定义2.定义时会创建自己的块级作用域3.变量不会被提升4.只能在自己的块级作用域里可以访问...

2020-07-21 15:56:46 48

原创 浏览器内核

标题 常见的浏览器内核1.triden IE浏览器(安全性高。但是对开发人员不太友好)2.gecko:火狐浏览器 (相对稳定,运行速度快)3.webkit:google浏览器(加载速度快,消耗流量少。严格遵循W3C标准)...

2020-07-21 11:48:08 63

原创 数据结构与算法之链表的实现

标题 链表的实现1.定义链表的构造函数传入data为参数2.在构造函数里面定义链表的头部this.head = data3.在链表构造函数定义一个length属性记录链表的长度4.定义内部类的构造函数需要传入一个参数5.该内部类实现每一个节点this.data = data6.在内部类定义一个指针指向空 this.data = null标题 链表添加元素方法1.在链表构造函数的原型对象添加append方法2.在方法里面创建一个节点并赋值给一个变量3.使用if判断链表的长度是否为04

2020-07-19 11:36:33 131

原创 数据结构与算法之双向链表

标题 双向链表封装1.基本实现思路:1.创建链表类2.添加head属性 (表示链表头部)3.添加 tail属性(表示链表尾部)4.添加length 属性 (记录链表长度)5.创建内部类(节点类)6.添加prev属性(指向前一个节点)7.添加data属性(节点数据)8.添加next属性(指向下一个节点)2.在原型上面添加append方法1.判断是否传入的是第一个元素2.进入true判断3.创建新的节点4.把新的节点赋值给head属性5.把新的节点赋值给tail属性6进入fals

2020-07-19 11:35:47 70

原创 数据结构与算法 之链表

链表链表的优点:1.内存空间不确定,可以随意扩展空间2.当插入元素时性能较高链表的缺点;1.当查找某一元素时性能较差链表的特点:1.有一个链表投标2.每一个节点都有元素和索引3.每一个索引都执行下一个元素4.如果每一元素则指向null...

2020-07-16 17:50:47 81

空空如也

空空如也

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

TA关注的人

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