自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 vue 封装 axios 网络请求

1.创建api文件,在当前目录封装一个request.js文件,配置请求响应的拦截信息/** * @file axios请求封装 */import axios from 'axios'import store from '../store/common'import router from '../router/common'import { Toast } from 'vant'const Axios = axios.create({})// 响应时间Axios.defaults.

2020-05-23 10:08:33 383

原创 解决 Better-scroll 可滚动区域的bug

Better-scroll 在决定由多少区域可以滚动时 是根据scrollerHeight 属性决定的,scroolerHeight 属性是根据放 Better-scroll的conent中的子组件的高度,但是我们的首页中,刚开始在计算scrollerHeight属性时,是没有将图片计算在内的,所以 , 计算出来的告诉是错误的,后来图片加载完成之后有了新的高度,但是 scrollerHeight 的属性并没有更新,所以就出现了滚动不了的bug**如何解决这个问题呢?**监听每一张图片是否加载完成,只

2020-05-21 14:33:29 1027 2

原创 Vue权限控制

在Web系统中, 权限很久以来一直都只是后端程序所控制的。为什么呢? 因为Web系统的本质围绕的是数据, 而和数据库最紧密接触的是后端程序.所以在很⻓的一段时间内, 权限一直都只是后端程序需要考虑的 话题.但是随着前后端分离架构的流行, 越来越多的项目也在前端进行权限控制.权限相关概念权限的分类后端权限从根本上讲前端仅仅只是视图层的展示, 权限的核心是在于服务器中的数据变化, 所以后端才是权限的关键, 后端权限可以控制某个用户是否能够查询数据, 是否能够修改数据等操作后端如何知道该请求是哪个用

2020-05-19 22:36:38 187

原创 前端发起网络请求 返回状态码

状态码含义说明200OK请求成功201CREATED创建成功204DELETED删除成功400BAD REQUEST请求的地址不存在或者包含不支持的参数401UNAUTHORIZED未授权403FORBIDDEN被禁止访问404NOT FOUND请求的资源不存在422Unprocesable entity[POST/PUT/PATCH] 当创建一个对象时,发生一个验证错误500INTERNAL SERV...

2020-05-19 22:14:36 620

原创 谈谈小程序生命周期函数

onLoad(options) 页面加载时触发,只会调用一次,,在options中可获取路径中的参数。onShow() 页面显示/切入前台时触发,一般用来发送数据请求;onReady() 页面初次渲染完成时触发, 只会调用一次,代表页面已可和视图层进行交 互。onHide() 页面隐藏/切入后台时触发, 如底部 tab 切换到其他页面或小程序切入后台 等。onUnload() 页面卸载时触发,如 redirectTo 或 navigateBack 到其他页面时。...

2020-05-10 21:18:29 398

原创 vue 中双向数据绑定的原理是什么?

vue 双向数据绑定的原理主要通过数据劫持 Object.defineProperty 和 发布订阅模式实现的,通过 Object.defineProperty 监听数据发生变化然 后通知订阅者(watcher),订阅者触发响应的回调

2020-05-10 15:43:54 350

原创 为什么避免 v-if 和 v-for 用在一起?

当 Vue 处理指令时,v-for 比 v-if 具有更高的优先级,通过 v-if 移动到容器元素,不会再重复遍历列表中的每个值。取而代之的是,我们只检查它一次,且不会在 v-if 为否的时候运算 v-for。

2020-05-10 15:32:07 1492

原创 http 超文本传输协议

超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛 的一种网络协议。所有的 WWW 文件(即超文本文件(Hypertext),是指具有超链接功 能的文件,它可以将文件中已经定义好的关键字(Keyword),经过鼠标的点取 (Click),便可以得到该关键字的相关解释,这种方法使用户使用起来更感舒适。类似于 早期使用的 WIN32 下的 HELP...

2020-05-06 13:50:09 817

原创 前端项目中图片处理相关的优化,项目中用到的优化方案

1、首先了解在 web 开发中常见的图片有那些格式。JPG 通常使用的背景图片,照片图片,商品图片等等。这一类型的图片都属于大尺寸图片或较大尺寸图片一般使用的是 这种格式。PNG 这种格式的又分为两种 一种 PNG-8,一种 PNG-24。PNG-8 格式不 支持半透明,也是 IE6 兼容的图片存储方式。PNG-24 图片质量要求较高的半透明或全透 明背景,保存成 PNG-24 更合适(为了兼容 ...

2020-05-06 13:34:56 427

原创 解决页面有大量图片(大型电商网站),加载很慢,优化图片加载,给用户更好的体验

图片懒加载 在页面上的未可视区域可以添加一个滚动条事件,判断图片位置与浏览器顶 端的距离与页面的距离,如果前者小于后者,优先加载。如果为幻灯片、相册等,可以使用图片预加载技术,将当前展示图片的前一张和后一张优先下载。如果图片为 css 图片,可以使用 CSSsprite,SVGsprite,Iconfont、Base64 等技术。如果图片过大,可以使用特殊编码的图片,加载时会先加载一张压...

2020-05-06 13:26:46 1643

原创 获取url中?后的参数 并将他们转换为对象

例如 http://item.taobao.com/item.htm?a=1&b=2&c=&d=xxx&e处理后的参数对象{a:’1′, b:’2′, c:”, d:‘xxx’}function serilizeUrl(url) { var urlObject = {}; if (/\?/.test(url)) { var url...

2020-05-04 23:59:43 981

原创 已知有字符串 foo=”get-element-by-id”,写一个 function 将其转化 成驼峰表示法”getElementById”。

function combo(msg){ var arr=msg.split("-"); for(var i=1;i<arr.length;i++{ arr[i]=arr[i].charAt(0).toUpperCase()+arr[i].substr(1,arr[i].len gth-1); } msg=arr.join(""); retu...

2020-05-04 23:54:19 285

原创 用 js 实现随机选取 10–100 之间的 10 个数字,存入一个数组,并排序。

function randomNub(aArray, len, min, max) { if(len >= (max - min)) { return '超过' + min + '-' + max + '之间的个数范围' + (max - min - 1) + '个的总数';} if(aArray.length >= len) { aArray.sort(fu...

2020-05-04 23:49:47 440

原创 javascript 三大经典排序

//升序算法 function sort(arr){ for (var i = 0; i <arr.length; i++) { for (var j = 0; j <arr.length-i; j++) { if(arr[ j]>arr[ j+1]){ var c=arr[j];//交换两个变量的位置 arr[j]=a...

2020-05-04 23:45:01 122

原创 js 实现数组去重 并且从小到大排序

function fn(arr){ // 先实现冒泡排序 for (var i = 0; i < arr.length-1; i++) { for (var j = 0; j < arr.length-1-i; j++) { if(arr[ j]<arr[ j+1]){ var temp = arr[j]; arr[ j]=arr[ j+...

2020-05-04 23:43:18 1700

原创 node.js 连接 mysql 数据库的 基本操作

安装mysqlcnpm i mysql -S创建一个js文件const mysql = require('mysql');// 建立数据库连接const connection = mysql.createConnection({ host: 'localhost', //主机地址 (默认:localhost) user: 'root', // 数据库用户名 passwo...

2020-05-03 14:01:33 176

原创 js 中错误调试 try catch的使用

我们在编写js代码中难免会遇到错误当一行代码出现错误时 后面的代码是不会执行的此时我们就可以用到 try catch() 语法了try { // 此处存放可能出现错误的代码片段 } catch (error) { // 这里的error 是捕获的错误信息 console.log(error); } finally { // 这里的代...

2020-05-02 21:57:33 396

原创 js 中 阻止事件冒泡和默认事件

什么是事件冒泡,何时阻止事件冒泡?如果p是在div里面,那么呢,如果P有一个 onclick 事件,div也有 onclick 事 件,为了触发P的点击事件时,不触发父元素的点击事件,那么就需要调用如下函数, 阻止事件冒泡。阻止事件冒泡函数:function stopBubble(e){if(e&&e.stopPropagation){//非 IE e.stopPropag...

2020-05-01 23:45:00 111

原创 js 使用parseFloat() 保留两位有效小数

parseFloat(val).toFixed(2)

2020-05-01 14:57:23 35246 4

空空如也

空空如也

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

TA关注的人

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