自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (1)
  • 收藏
  • 关注

原创 关于moment时区处理问题,指定时间转换特定时区

如题网上一堆复制粘贴让使用timezone插件的文章,查了十几分钟,真是浪费生命,垃圾文章太多。如果只想转换某个时间而已,是不需要使用timezone插件的,这个插件一用可能全局的时区就变了,问题就大了。只转换某几个时间的时区解决办法是moment文档提供的方法:转换固定偏移量:可以理解为转换时区,偏移量指的就是不同时区之间的差值。+号后面的参数是偏移量。moment.parseZone('2016-05-03T22:15:01+02:00').utc().format(); //"2016-05-

2021-12-21 10:54:24 4459

原创 Vue.nextTick 的原理和用途

文章链接 https://segmentfault.com/a/1190000012861862

2021-05-04 22:01:23 126

转载 node.js - 关于koa2 的ctx.body是什么?

ctx是context的缩写中文一般叫成上下文,这个在所有语言里都有的名词,可以理解为上(request)下(response)沟通的环境,所以koa中把他们两都封装进了ctx对象,koa官方文档里的解释是为了调用方便,ctx.req=ctx.request,ctx.res=ctx.response,类似linux系统中的软连接?最终执行还是request和response对象所以第二个问题:body是http协议中的响应体,header是指响应头ctx.body = ctx.res.body = c

2021-04-06 15:07:37 2510

原创 美团网登录注册教程笔记

注册登录编写注册页面的表单有昵称-邮箱-验证码-密码-确认密码几个输入框之后为这几个输入框绑定数据和填写验证规则最后设置两个按钮,一个在验证码输入框下-发送验证码按钮,一个在最下面提交表单注册信息按钮。验证码的实现是使用的腾讯邮箱服务——smtp服务首先要先开启服务:在QQ邮箱-设置选项内选择开启POP3/SMTP服务与IMAP/SMTP服务。同时生成授权码。服务设置的代码为(代码在数据库配置文件内dbs/config.js)写接口:首先进行数据库的需求分析,也就是数据库的数据结构设计。

2021-04-01 16:25:17 1395

原创 MongoDB数据库相关知识

MongoDB安装:MongoDB基础语法也是跟普通数据库一样分为增删改查,在MongoDB中分别对应插入文档删除文档更新文档查询文档启动数据库:mongod查看数据库:show dbs创建数据库: use demo创建后插入数据才可真正创建,插入数据:db.demo.insert({id:1})查看当前数据库的集合show collections删除当前数据库 db.dropDatabasedb就代表当前数据库删除集合db.user.dropuser代表当前数据库的user集

2021-03-10 16:56:38 105

转载 js事件冒泡、事件捕获、事件委托

https://segmentfault.com/a/1190000013314392为什么要弄清楚事件捕获和冒泡以及事件委托一、面试必问的问题二、在过去糟糕的日子里,浏览器的兼容性比现在要小得多,Netscape(网景)只使用事件捕获,而Internet Explorer只使用事件冒泡。当W3C决定尝试规范这些行为并达成共识时,他们最终得到了包括这两种情况(捕捉和冒泡)的系统,最终被应用在现在浏览器里。三、容易把事件委托理解为单独的执行阶段三者的关系是怎样的呢一、事件捕获和冒泡是现代浏览器的执

2021-03-04 16:21:04 124

原创 MongoDB环境搭建、可视化工具安装

MogoDB1、安装2、配置:在任意位置新建文件夹MongoDB(数据库位置)创建三个文件夹data、etc、logs(命名任意)etc中新建文件mongo.conf,写入:dbpath=c:\MongoDB\data#日志输出文件路径logpath=c:\MongoDB\logs\mongodb.log#错误日志采用追加模式,配置这个选项后mongodb的日志会追加到现有的日志文件,而不是从新创建一个新文件logappend=true#启用日志文件,默认启用journal=tru

2021-02-25 13:29:33 219

原创 网站开发设计相关面试题

网站设计开发流程:

2020-10-13 15:23:57 675

原创 让ie6/7/8支持HTML5标签

1、引用google的html5.js文件,代码内容可以自己下载下来看。<!–[if lt IE9]><script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]–>在css初始化中添加article,aside,dialog,footer,header,section,footer,nav,figure,menu{display:block}

2020-10-13 14:27:21 122

转载 IE6的一些兼容问题

1、css兼容问题 (1)IE6不识别html5标签 解决:引入html5shiv.js库 (2)IE6元素左右浮动,子元素设置高度后,父元素的浮动消失 解决:给子元素也加上浮动 (3)IE6下第一块元素浮动后,第二块元素加的margin-left值等于第一块元素的宽度,会有间隙问题 解决:第二块元素去掉margin-left,添加浮动 (4)IE6下子元素宽高大于父元素宽高时,会把父元素撑开 解决:不让子元

2020-10-13 14:20:00 129

原创 Vue-router 中hash模式和history模式的区别

最直观的区别就是在url中 hash 带了一个很丑的 # 而history是没有#的hash 模式下,仅 hash 符号之前的内容会被包含在请求中,如 http://www.abc.com,因此对于后端来说,即使没有做到对路由的全覆盖,也不会返回 404 错误。history 模式下,前端的 URL 必须和实际向后端发起请求的 URL 一致,如 http://www.abc.com/book/id。如果后端缺少对 /book/id 的路由处理,将返回 404 错误。Vue-Router 官网里如此描

2020-10-04 10:57:57 363

原创 .gitignore文件

.gitignore用来管理无需进行git版本控制的文件,可以将指定的文件进行忽略,不添加到git版本管理中。如包文件。它还可以指定要将哪些文件添加到版本管理中,只需要在开头加个叹号即可。忽略规则点这里...

2020-10-03 17:05:12 104

原创 npm和yarn

npm和yarn都是js的包管理工具yarn相较于npm主要有以下3个优点 :yarn的速度快, Yarn 在执行包的安装时,是并行下载,同步执行所有任务。还拥有离线缓存机制,在已经安装过某个包后,无需联网即可从缓存中获取安装。版本锁定,可以避免不同开发者在安装依赖时因为版本不同所造成的bug多注册来源处理统一,所有的依赖包,不管他被不同的库间接关联引用多少次,安装这个包时,只会从一个注册来源去装,要么是 npm 要么是 bower, 防止出现混乱不一致。更好的语义化语法: yarn改变了一些n

2020-10-03 15:21:30 380

原创 npm下载速度慢解决办法

npm下载速度慢解决方法:通过设置淘宝镜像代理解决npm config set registry https://registry.npm.taobao.org-- 配置后可通过下面方式来验证是否成功npm config get registry-- 或npm info express

2020-10-03 09:33:46 558

原创 Vue组件样式穿刺

为什么需要穿透scoped?引用了第三方插件或库,需要在组件中修改该插件或库的的样式,而一半情况下组件内的样式会使用scoped防止组件间样式污染。此时只能样式穿透scoped来修改第三方插件或库的样式。穿刺方法sass和less穿透使用:(/deep/)外层类 /deep/ 想要修改的类名 {  要修改的样式}例:.wrapper /deep/ .el-card__header {border-bottom: none}通用样式穿透使用:(::v-deep)::v-deep

2020-10-03 09:15:17 1091

原创 2020-9-27踩坑记录

在使用vue-video-player播放插件的时候,当点击视频所处元素块的时候,总是在视频四周出现黑色边框,非常影响视觉体验。在使用样式穿刺设置;object-fill:fill 充满容器,outline:none;border:none等属性后均没有效果。最后发现在重置样式文件reset.css中添加 video{outline:none}后黑色边框小时,问题到此得以解决。这个坑在前期浪费了大量的时间去寻找解决方法,但是网上的方法乱七八糟,而且官方文档也没有关于此问题的线索,所以浪费了特别多时间处理

2020-09-27 21:25:02 101

原创 原型和原型链

我们每次创建js函数时,js都会为函数对象默认添加一个称为prototype的额外属性,它指向原型对象,可以用来访问原型对象。然后当我们从Function 对象创建实例的时候,js引擎会再次向该对象的实例添加__proto__ 属性。它也可以用于访问Function 对象的同一原型对象。prototype属性是一个默认情况下拥有constructor属性的的对象(原型对象)也可以说函数对象的prototype属性它就是原型对象,只是一个名字,名称,API构造函数(对象函数)的原型对象在所有使用该

2020-09-14 15:37:38 86

原创 Javascript基础知识整理

变量声明var 全局作用域 可能会引起冲突 大多数情况下不用let const 是从ES6添加的let 和 const 的区别在于let可以重新赋值const不可以所以大多数情况下都是用const 因为不可重新赋值可以让程序安全少出错除非有重新赋值的需求 不然就用constconst 声明变量时必须赋值 不然会报错let可以声明且不赋值数据类型六种基础数据类型:string 、 number、 boolean、 null 、undefined 、symbol(ES6)conso

2020-09-04 15:15:57 116

原创 移动端适配及响应式开发

移动端适配的meta标签及其含义<meta name="viewport" content="width=device-width; initial-scale=1; maximum-scale=1; minimum-scale=1; user-scalable=no;">移动端适配流程CSS的一些单位1、emem是相对长度单位。相对于当前对象内文本的字体尺寸。如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸。em特点:em的值并不是固定的;em会继

2020-07-31 21:13:49 310

原创 CSS效果

盒子阴影 box-shadowbox-shadow: 0 0 30px 10px pink inset;0 0 偏移量 30px 模糊大小 10px阴影扩展大小。pink阴影颜色。 inset内阴影。边框圆角 border-radius10px/20px 代表前面是水平方向圆角半径。后面是垂直方向圆角半径。可以制作各种圆角的图像 ,如图背景 backgroundbackground详细链接值说明 CSSbackground-color 指定要使用的背景颜色 1background

2020-06-09 09:28:43 141

原创 CSS各类布局

★★★ float(+margin)浮动布局 ★★★(均以三栏布局为例,中间宽度自适应)实现: 利用浮动,(margin属性腾出其他块的空间)<style> body, .container{ margin: 0; padding: 0; height: 300px; } .left{ float: left; width: 200px;

2020-05-10 17:36:19 124

原创 浮动、高度塌陷、以及其解决办法

 1.什么是浮动?浮动(float):依然位于父元素内脱离文档流,形成BFC,但不脱离文本流。即float元素下面的文字依然会被挤出去。变为块级元素 — 块级元素:允许修改尺寸 。行内元素:不允许修改尺寸父级元素内的文本,行内,行内块元素采用环绕方式排列 2.浮动 之后会有什么样的影响? (高度塌陷)**由于浮动元素会脱离文档流,所以导致不占据页面空间,所以会对父元素高度带来一定影响。如果一个元素中包含的元素全部是浮动元素,那么该元素高度将变成0(高度塌陷) 3.如何清楚浮动?#方

2020-05-10 15:04:40 494

原创 行高,文本对齐

行高:文本基线间垂直间距。文本有顶线,中线,基线,底线。 行距:指文本一行底线到下一行顶线的垂直距离。设定行高时行内框高度不变,改变的高度分成两个半行距分别增加(减少)到行内框(内容区域)的上下两边。(半行距=行高减字体大小除2) 行框:本行虚拟矩形框,是一个概念,无实际显示。行框高度等于本行内所有元素中行内框最大的值 (以行高值最大的行内框为基准,其他行内框采用自己的对齐方式向基准对齐,最终...

2020-05-08 15:11:49 222

原创 attribute和property的区别

1、attribute是html标签上的属性attribute特性由HTML定义,所有出现在HTML标签内的描述节点都是attribute特性。类型只能是字符串访问:1、getAttribute()-取某一个属性。其他方法点这里var attr = document.getElementById('one').getAttribute('class') 2、 attri...

2020-05-08 00:28:26 687

原创 Git 相关知识

git version命令 查看当前git版本(也可用于检查git是否安装)

2020-04-16 23:18:13 66

原创 计时器和计算属性computed

setTimeout()是属于 window 的方法,该方法用于在指定的毫秒数后调用函数或计算表达式。语法格式可以是以下两种:setTimeout(要执行的代码, 等待的毫秒数)setTimeout(JavaScript 函数, 等待的毫秒数) setTimeout(functiom(){ },xx-ms)...

2020-04-16 23:17:28 1724

原创 数组方法

v-if与v-showv-if 有更高的切换开销,而 v-show 有更高的初始渲染开销。因此,如果需要非常频繁地切换,则使用 v-show 较好;如果在运行时条件很少改变,则使用 v-if 较好。数组的变异方法push(): 接收任意数量的参数,把它们逐个添加到数组末尾,并返回修改后数组的长度pop(): 从数组末尾移除最后一项,减少数组的length值,然后返回移除的项s...

2020-04-16 23:17:14 197

原创 为何在大型项目中data需要使用return返回数据呢?

为何在大型项目中data需要使用return返回数据呢?原因:不使用return包裹的数据会在项目的全局可见,会造成变量污染 使用return包裹后数据中变量只在当前组件中生效,不会影响其他组件。...

2020-04-16 23:16:04 283

原创 组件化中特定标签嵌套

        todolist    待办事项            <input type=“text” v-model=“content” @keyup.enter=“addTask”/><button @click=“ad...

2020-04-16 23:15:43 133

原创 HTML文档解析顺序

用户访问页面链接,浏览器向服务器请求html文件并下载从上到下的顺序下载文件,主线程同步下载标签中的文件,然后多线程异步解析各文件<head>标签中的文件下载并解析完成,才会开始执行body里面的代码来渲染页面,js要使用浏览器的js引擎来解析,所以如果<head>标签中有过大的js,解析过慢,会阻塞页面渲染,出现白屏。过大的css也会阻塞所以将js文...

2020-04-13 09:30:38 690

原创 Vue中的scoped及样式穿透

何为scoped?在vue文件中的style标签上,有一个特殊的属性:scoped。当一个style标签拥有scoped属性时,它的CSS样式就只能作用于当前的组件,也就是说,该样式只能适用于当前组件元素。通过该属性,可以使得组件之间的样式不互相污染。如果一个项目中的所有style标签全部加上了scoped,相当于实现了样式的模块化。scoped的实现原理vue中的scoped属性的效果主要...

2020-04-11 22:46:40 987

原创 VUE项目轮播插件的使用-vue-Awesome-swiper

安装npm install swiper vue-awesome-swiper --save全局注册import VueAwesomeSwiper from 'vue-awesome-swiper'import 'swiper/css/swiper.css' Vue.use(VueAwesomeSwiper)使用<template> <swiper re...

2020-04-11 21:15:33 211

原创 VUE项目——使用全局变量

优点: 提高代码可维护性,比如改变整个页面的主题颜色。使用方法: 在styls文件夹下创建 varibles.styl文件$bgColor = #00bcd4$headerHeight = .5rem在组件中引入,然后直接使用变量名即可@import '~@/assets/styles/varibles.styl'.header height $headerHeight ...

2020-04-11 18:21:36 125

原创 iconfont、font-awesom图标库使用

npm下载速度慢解决方法:npm config set registry https://registry.npm.taobao.org-- 配置后可通过下面方式来验证是否成功npm config get registry-- 或npm info express图标库 font-awesome 简易用法: 安装:npm install font-awesome --save 引入:...

2020-04-11 17:53:53 1420

原创 前端路由和后端路由

他们的区别,优缺点等

2020-04-08 21:17:10 128

原创 vue组件名name的作用

keep-alive 在判断组件是否需要缓存的时候,进行正则匹配/名称匹配的时候,就是根据组件的名称来进行判断的便于调试,有名字的组件可以有更清晰的警告信息,在vue-devtools中也会显示组件名,可以观察到更有语义化的组件树组件调用自己,完成递归组件的实现...

2020-04-07 17:10:28 319

原创 插槽—v-slot

具名插槽v-slot的缩写: slot="header" = v-slot:header = #header -----都是具名插槽的语法**父组件**<child-component> <template #header> //它们三个并没有任何不同,都是具名插槽<!-- <template v-slot:h...

2020-04-07 01:18:20 570

原创 父子组件间的传值

VUE单向流数据即在父子组件的传值中 子组件只可以接收父组件的数据而不能修改父组件的数据,不然会造成其他子组件引用相同父组件数据时产生错误。 如果子组件接收父组件的数据需要修改,则需在子组件内拷贝一份接收的数据data:function(){return {拷贝属性名: this.父组件传递的数据属性名}然后在组件内进行修改即可。!注意:不可以直接用父组件数据属性名进行赋值。因为...

2020-04-04 15:31:58 278

水晶指针

水晶指针

2019-03-18

空空如也

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

TA关注的人

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