自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 文本超出显示

1.单行文本超出显示overflow: hidden;text-overflow:ellipsis;white-space: nowrap;2.多行文本超出显示display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 3;overflow: hidden;

2021-01-25 14:09:03 125

原创 解析 get 参数

通过 replace 方法获取 url 中的参数键值对,可以快速解析 get 参数。const q = {};location.search.replace(/([^?&=]+)=([^&]+)/g,(_,k,v)=>q[k]=v);console.log(q);

2021-01-25 11:37:11 410

原创 layui回车确定事件

function remove(id) { layer.confirm('确定要删除选中的记录?', { btn : [ '确定', '取消' ], success:function(){ this.enterEsc = function (event) { if (event.keyCode === 13) { $(".layui-layer-btn0").click(); return false; //阻止系统默认回车事件 }else if(even

2020-11-03 16:13:14 1440

原创 layui监听复选框点击事件

form.on('checkbox(serviceType)', function(data){ //serviceType 为复选框id if(data.elem.title=="其他" & data.elem.checked){ $('#serviceTypeInput').show() } if(data.elem.title=="其他" & data.elem.checked=.

2020-10-28 16:26:32 2101 1

原创 解决input type=password的历史记录和自动填充问题

解决input type=password的历史记录和自动填充问题基于现在的浏览器很多都有记住密码的功能,所以很多的时候输入框会自动填充,但是在开发过程中,也会有用户觉得存在安全问题,下面是几种去除自动填充和历史记录的方法:autocomplete=“off” <input type="password" name="password" autocomplete="off"/>autocomplete=“new-password” <input type="passw

2020-10-28 14:15:22 2051

原创 vue路由传参

1.直接调用$router.push实现携带参数的跳转methods:{ insurance(id) { //直接调用$router.push 实现携带参数的跳转 this.$router.push({ path: `/particulars/${id}`, })}对应路由配置{ path: '/particulars/:id', name: 'particulars', component: pa

2020-05-10 17:51:21 103

转载 面试题:vue实现双向数据绑定的原理(附源代码)

此面试题浅层次的解释在:前端面试题:vue 的双向数据绑定原理,v-model的源码深层次,其实就是问你vue数据绑定的原理:1、使用Object.defineProperty进行数据劫持...

2020-05-03 17:26:53 1177

原创 vue生命周期钩子

每个 Vue 实例在被创建时都要经过一系列的初始化过程——例如,需要设置数据监听、编译模板、将实例挂载到 DOM 并在数据变化时更新 DOM 等。同时在这个过程中也会运行一些叫做生命周期钩子的函数,这给了用户在不同阶段添加自己的代码的机会什么是生命周期:从Vue实例创建、运行、到销毁期间,总是伴随着各种各样的事件,这些事件,统称为生命周期!生命周期钩子:就是生命周期事件的别名而已;生命周...

2020-04-30 09:00:14 117

原创 vue组件通讯

逐层传递父子属性绑定+props接受// 父 template内<子 :自定义属性="父数据"></..>//子 script内props:['自定义属性'] props:{自定义属性:{type/default/required/...}}//子 template内<div> {{自定义属性}}</div>pr...

2020-04-30 00:23:06 120

转载 create-react-app创建的项目配置多入口MPA模式。报Cannot read property ‘filter’ of undefined

create-react-app创建的项目配置多入口MPA模式。报Cannot read property ‘filter’ of undefined多入口配置一.首先eject项目执行npx create-react-app train-ticket,安装react项目。这时候package.json中react-srcipt已经集成了所有的逻辑,此时需要个性化的配置,需要执行npm r...

2020-04-29 16:20:09 580

转载 面试题:TCP和UDP的区别

相同点UDP协议和TCP协议都是传输层协议。T...

2020-04-27 14:11:46 432

原创 浏览器渲染原理

渲染过程1.浏览器接收到HTML文件并转换为DOM树当我们打开一个网页时,浏览器都会去请求对应的HTML文件。我们平时写的JS,CSS,HTML文件都是字符串,但是计算机硬件是不理解这些字符串的,所以在网络中传输的内容其实都是0和1这些字节数据。当浏览器接受到这些字节数据以后,他就会将这些字节数据转换为字符串,也就是我们写的代码。当数据转换为字符串以后,浏览器会讲这些字符串通过词法分析...

2020-04-26 22:34:57 133

原创 bind,appliy,call的区别,以及手写实现

一、区别1.相同点三个函数都会改变this指向(调用这三个函数的函数内部的this)2.不同点bind会产生新的函数(把对象和函数绑定后,产生新的函数)call和apply不会产生新的函数,只是在调用时绑定一下call和apply的区别:第一个参数都是要绑定的this,apply第二个参数是数组(函数的所有参数),call把apply的第二个参数单列出来二、实现1.call...

2020-04-26 16:51:42 766

原创 简单实现一个promise

promise就是一个对象,用来传递异步操作的消息。完成一个promise首先一个Promise构造函数,创建一个Promise类,在使用时传入一个执行器(executor),executor接收两个参数,resolve和rejectclass Promise{ constructor (executor) { this.status = 'pending' this.value...

2020-04-25 23:01:04 203

原创 算法题:数组去重

1.ES6 Set去重function unique(arr){ return Array.from(new Set(arr))}2.splice去重function unique(arr){ for(let i=0;i<arr.length;i++){ for(let j=i+1;j<arr.length;j++){ if(arr[i]===arr[j]){...

2020-04-22 22:22:26 242

转载 HTML5的离线储存怎么使用?

1.背景介绍HTML5提供了很多新的功能以及相应的接口,离线存储就是其中的一个,离线存储可以将站点的一些文件存储在本地,在没有网络的时候还是可以访问到以缓存的对应的站点页面,其中这些文件可以包...

2020-04-21 21:51:22 122

原创 算法题:如何让一个数组快速的乱序

1.利用sort排序let arr = new Array(10).fill(0).map((item,index)=>index+1)arr.sort(()=>Math.random()-0.5)console.log(arr) ;//(10) [7, 4, 10, 8, 1, 3, 5, 2, 6, 9]2.利用随机数,将数组的最后一个值赋值到数组随机出来的位置上,然后...

2020-04-21 19:05:35 536

原创 前端面试题:cookie、sessionStorage、localStorage的区别

cookie、webStorage都是用来在客户端存放数据的选项。简介:1.cookie:cookie在性质上是绑定在特定的域名下的。当设定了一个cookie后,再给该特定域名发送请求时,都会携带该cookie。cookie在默认情况下,浏览器回话结束时,所有的cookie将会被删除,但也可以自己设置删除时间。2.webStorage:webStorage是HTML5新出的标签,目的...

2020-04-12 20:30:47 248

原创 react--生命周期函数

react的生命周期分为三个阶段:挂载时、更新时、卸载时在更新后的生命周期钩子中,挂载前、更新前、props更新前统一用getDerivedStateFromProps代替,并添加了返回快照钩子getSnapshotBeforeUpdate1.挂载时1.取得默认属性,初始状态在constructor中完成。只运行一次,可以读取数据,同步修改state,可以访问到props2.挂载前:...

2020-03-30 11:09:16 172

原创 vuex--状态管理

vuex是一个专门为vue.js应用程序开发的状态管理模式。它采用集中式存储管理应用所采用的组件状态,正是一处修改,多处使用,多个组件依赖于同一状态。安装npm i vuex -SVuex相关成员Vuex是个对象,相关成员如下:成员用途Store类,构造状态管理的实例mapActions函数,通讯工具mapMutations函数,通讯工具ma...

2020-03-24 09:22:55 123

原创 异步流程控制

1.串行有关联一个请求结束后,再发送下一个请求,第二次请求的参数依赖第一请求的返回值。所用时间为两次请求时间之和。axios({ url:'/api/home',}).then( res=>axios({ url:'/api/follow', params:{msg:res.data.msg} //res为第一次请求的返回值 }).then( r...

2020-03-14 11:12:34 126 1

原创 基于vue和bootstrap实现简单的留言板功能

作为一个刚开始接触vue的前端小白,我想在这里记录一些学习过程,希望和大家一起进步,如有不妥处之处,请多多指教呦。今天呢,是我学习vue的第二天,我想制作一个建议的留言板。功能很简单,就是数据的增删改查,下面开始步入正题:大致布局如下:1.html布局如果大家不想自己去写css样式,使用bootstrap框架是一个很好地选择,它提供了一套响应式、移动设备优先的流式栅格系统。 <...

2020-02-29 23:56:02 1502 1

原创 token的简单使用

身份验证:HTTP 是一种没有状态的协议,也就是它并不知道是谁在访问。客户端用户名密码通过了身份验证,不过下回这个客户端再发送请求时候,还得再验证。token定义:token是服务端生成的一串字符串,作为客户端进行请求的一个令牌,第一次登录后,服务器生成一个token并返回给客户端,客户端再次请求时,只需携带token即可,很大程度上减轻了服务器的压力,不用频繁的查询数据库。思想:1、客...

2020-02-22 18:22:53 961

空空如也

空空如也

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

TA关注的人

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