自定义博客皮肤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)
  • 收藏
  • 关注

原创 vscode的格式化问题

vscode的格式化问题一、先下载插件二、在setting.josn配置三、配置.editorconfig文件https://editorconfig.org一、先下载插件在插件商店中下载三个插件Beautify、Eslint、Vetur二、在setting.josn配置{ // tab 大小为2个空格 "editor.tabSize": 2, // 100 列后换行 "editor.wordWrapColumn": 100, // 保存时格式化 "

2021-07-13 11:14:01 743 1

原创 vue实现拖拽

简单的拖拽拖拽1、screenX 和screenY2、clientX和clientY3、pageX和pageY4、offsetX和offsetY实现拖拽拖拽拖拽是我们在项目开发中,必不可少的技能之一,关于拖拽,我们有些人很是头疼,因为搞不懂搞用哪个属性,那么我们先来说说关于页面位置属性的区别screenX、clientX、pageX, offsetX。1、screenX 和screenY参照点:电脑屏幕左上角screenX:鼠标点击位置相对于电脑屏幕左上角的水平偏移量screenY:鼠标点击位置

2021-06-20 20:27:57 532

原创 Vue打包上线流程,Ngnix服务器配置

Ngnix使用Ngnix上线二、使用步骤1.引入库2.读入数据总结使用Ngnix上线1.首先需要安装nginx下载地址:(http://nginx.org/en/download.html)(Nginx官网)2.我们使用二、使用步骤1.引入库代码如下(示例):import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport warningswarnings

2021-06-08 08:31:19 310

原创 axios拦截,api统一管理

axios的封装关于封装axios封装axiosapi接口统一管理关于封装axios封装axios是我们使用前端经常做的事情,为什么要封装axios,因为在封装他里面,我们可以做好多东西,比如响应拦截,请求拦截,还有加载动画,使我们请求接口是变得方便且简单。并且在vue项目中,和后台交互获取数据这块,我们通常使用的是axios库,它是基于promise的http库,可运行在浏览器端和node.js中。封装axios1.首先我们要先下载axios npm install axios -S; /

2021-06-04 11:06:15 271 6

原创 vant-ui 按需引入

vant-ui 按需引入vant-ui安装插件总结vant-ui在我们的Vue学习中vant-ui是一个我们使用频繁的插件,在vant-ui中,按需引入也是我们要注意的一个点安装插件先装vant的插件npm i vant -S然后装按需引入的插件npm i babel-plugin-import -D创建一个.babelrc文件,在里面配置plugins(插件)"plugins": [ "transform-vue-jsx", "transform-runtime"

2021-06-04 08:18:06 212

原创 去哪儿项目的流程

项目流程前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码如下(示例):import numpy as npimport

2021-06-03 16:57:16 109

原创 webpack打包优化

webpack打包优化介绍打包跨域配置配置 alias 别名使用CDN 加速优化去除console.log打印以及注释介绍关于webpack打包优化我们使用的原因呢,首先我们上线一个项目,为了让用户有好的体验感,为了使我们的项目上线后有好的效果反应,首先考虑的就是这个项目的大小问题,为了是我们的项目大小进行压缩,这时候我们就要用到webpack打包优化打包1.我们首先要创建vue.config.js文件,将静态资源设置为"./",,否则打包后项目无法运行,并且我们要关闭SourceMap映射文件,是

2021-06-03 16:54:57 253

原创 多环境变量配置

多环境变量配置为什么要配置环境变量,配置环境变量有什么好处多环境变量配置怎么配置?二、使用步骤1.引入库2.读入数据总结为什么要配置环境变量,配置环境变量有什么好处path环境变量的作用是帮助系统操作java,在用java将源码编译为.class文件,然后在调用java命令让程序去执行,就好像是我们玩游戏去找到游戏的.exe应用程序文件,所以在配置path环境变量可以帮助系统找到并调用java.exe或者是javac.exe程序。classpath环境变量的配置是帮助和告诉java虚拟机所有可执行的

2021-06-03 08:59:44 135 2

原创 transition属性

transitionTransition概念transition-propertytransition-durationtransition-delaytransition-timing-function总结过渡的坑Transition概念Transition 可以设置 CSS 属性的过渡效果,它有以下几个属性。transition-property 用于指定应用过渡属性的名称transition-duration 用于指定这个过渡的持续时间transition-delay 用于指定延迟过渡的时间

2021-06-01 21:45:36 2769

原创 keep alive

keep alivekeep alive的概念基本用法,缓存整个页面或组件结合router,缓存部分页面合理的创建标题,有助于目录的生成使用新增属性inlcude/exclude需要在router中设置router的元信息meta:keep alive 的生命周期函数keep alive的概念是Vue的内置组件,能在组件切换过程中将状态保留在内存中,防止重复渲染DOM。 包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们。和 相似, 是一个抽象组件:它自身不会渲染一个 DOM 元素,也不会出现在

2021-06-01 21:33:03 173

原创 事件委托

事件委托是一种提高程序性能,降低内存空间的技术手段,它利用了事件冒泡的特性,只需要在某个祖先元素上注册一个事件,就能管理其所有后代元素上同一类型的事件。用一个例子来描述委托,先创建一个HTML文档,包含一个容器元素...

2021-06-01 21:15:07 117

原创 闭包

闭包

2021-06-01 08:02:08 167

原创 var let const 区别

var let const 区别

2021-05-31 23:41:27 88 1

原创 作用域、作用域链、自由变量、变量提升

作用域、作用域链、自由变量、变量提升

2021-05-30 21:50:13 82 1

原创 New的过程和this的指向

1.new的四个步骤创建一个空对象→这个新对象继承原函数的原型→更改this指向,为对象设置属性→返回新对象1.创建一个空对象varobj={}2.这个新对象继承原构造函数的原型obj._proto_=Constructor.prototype3.更改this指向,为对象设置属性letresult=Constructor.apply(obj,...args)4.返回新对象returnresultin...

2021-05-28 08:44:39 698 1

原创 认识了解原型、原型链

什么是原型?  Javascript 只有一种结构,那就是:对象。在 javaScript 中,每个对象都有一个指向它的原型(prototype)对象的内部链接。这个原型对象又有自己的原型,直到某个对象(Object)的原型为 null 为止(也就是不再有原型指向),组成这条链的最后一环。这种一级一级的链结构就称为原型链。...

2021-05-27 21:45:37 97

原创 call/apply/bind的区别

1.作用他们的作用都是改变函数内部的this。 这三个函数都是函数对象的方法,也就是说只有函数才可以直接调用这些方法

2021-05-27 19:01:39 68 1

原创 数组的方法

数组在我们js中的的地位很好,而且我们对于数组的操作过于频繁,所以我们应该总结一下数组的方法1. Array.push(),向数组的末尾添加一个或多个元素,并返回新的数组长度。原数组改变。2. Array.pop(),删除并返回数组的最后一个元素,若该数组为空,则返回undefined。原数组改变。3. Array.unshift(),向数组的开头添加一个或多个元素,并返回新的数组长度。原数组改变。4. Array.shift(),删除数组的第一项,并返回第一个元素的值。若.

2021-05-25 21:57:22 601 2

原创 argument

argument是什么?arguments 是一个类数组对象。代表传给一个function的参数列表。function arg() { console.log(arguments);}arg("a", 0, { foo: "Hello, arguments" });输出结果["a", 0, Object]控制台打印出来的是一个数组,但并不是真正的数组,所以说arguments 是一个类数组的对象,我们称它为伪数组...

2021-05-25 21:52:25 271

原创 数据类型判断

JavaScript有6个基本数据类型,1个复杂数据类型(也叫引用数据类型)。基本类型:String 、Number、Boolean、Null、Undefined、 Symbol引用类型:Object为了让我们在代码中,认识我们所写的数据类型,我们有方法可以进行判断,这样子的方法总共有四种分别是 instanceof Object.prototype.toString.call constructortypeof。instanceofinstanceof操作符是判断某个Functio...

2021-05-25 08:12:19 115

原创 js数据类型

在我们的js中,每个数据都有不一样的类型,就是数据类型一、数据类型简介:1.JavaScript(以下简称js)的数据类型分为两种:原始类型(即基本数据类型)和对象类型(即引用数据类型);2.js常用的基本数据类型包括undefined- - (未定义)、null- - (空的)、number- - (数字)、boolean- - (布尔值)、string- - (字符串)、Symbol - - (符号);3.js的引用数据类型也就是对象类型Object- - (对象),比如:array..

2021-05-25 08:01:17 14833 1

原创 深拷贝

深拷贝:拷贝值浅拷贝: 拷贝地址深拷贝的方法1.json方式//_tmp和result是相互独立的,没有任何联系,有各自的存储空间。let deepClone = function (obj) { let _tmp = JSON.stringify(obj);//将对象转换为json字符串形式 let result = JSON.parse(_tmp);//将转换而来的字符串转换为原生js对象 return result;};let obj1 = {

2021-05-24 08:01:08 175 1

原创 vue-router

Vue Router 是 Vue.js官方的路由管理器。它和 Vue.js 的核心深度集成,让构建单页面应用变得易如反掌。包含的功能有:嵌套的路由/视图表 模块化的、基于组件的路由配置 路由参数、查询、通配符 基于 Vue.js 过渡系统的视图过渡效果 细粒度的导航控制 带有自动激活的 CSS class 的链接 HTML5 历史模式或 hash 模式,在 IE9 中自动降级 自定义的滚动条行为两种路由模式vue-router通过hash与History interface两种方式实

2021-05-24 07:50:19 182

原创 Vuex的了解

1.vuex的用途和概念vuex是专门用来管理vue.js应用程序中状态的一个插件。他的作用是将应用中的所有状态都放在一起,集中式来管理。里面的数据可以被所有组件使用,也就是共享资源。需要声明的是,这里所说的状态指的是vue组件中data里面的属性。2.vuex里面的都有什么方面1.state: vuex的基本数据,用来储存变量的。2.getters: vuex里面的计算属性,getter 的返回值会根据它的依赖被缓存起来,且只有当它的依赖值发生了改变才会被重新计算。3...

2021-05-23 21:52:01 163 1

原创 Vue的生命周期钩子函数

在vue中一个完整的生命周期过程,我们可以得知生命周期的三个过程:初始化、运行中、销毁中共有八个钩子函数,如下。● beforeCreate( ) { }● created( ) { }● beforeMount( ) { }●mounted( ) { }● beforeUpdate( ) { }● updated( ) { }● beforeDestroy( ) { }● destroyed( ) { }注意:生命周期钩子的 this 上下文指向调用它的 Vue 实例。生命周期钩子函

2021-05-21 21:19:52 375 2

原创 Vue的组件通信

关于Vue的组件通信我们需要知道的是什么是组件,什么是组件通信,怎么使用?1.什么是组件?我认为组件是和vuex有一丝相处的地方的一种东西。相似的地方在于:两者都可供多个页面使用不同的地方在于:组件里面可以书写布局,而vuex只能存放数据2.什么是组件通信?组件通信顾名思义,就是组件与组件中的联系,也就是组件通信。因为​组件可以说是一个具有独立功能的整体,当我们要将这些组件拼接在一起时,这些组件互相之间要建立联系,这个在组件中进行的联系我们就称之为组件通信。我们常用的组件

2021-05-20 21:21:22 241 4

原创 微信小程序的发布流程

1、上传代码在代码编写完毕后,在他顶部的导航条上找到上传这点击 上传 就好了然后这里填写对应的版本号和备注,这里对于版本号我个人一般是这样处理的,用两位数来记录版本,第一位是大版本号,第二位是小版本号。大版本小版本的区别是啥?大版本一般我们定义为修改了整体的交互,或者重新重头到尾修改了UI界面。其他的一些功能添加,小bug修复都算是小版本。—— 以上仅供参考如果代码上传成功,你编辑器的右上角会出现【长传代码成功】的提示。到这里我们开发代码这块就完工了,剩下的就是去微信.

2021-05-17 10:10:38 973 3

原创 微信的授权登录

授权登录是是我们常见的功能,简单来说就是请求token,然后将token存储下来,供后面的使用,今天我们就来看看请求token怎么请求先将request封装一下,方便我们用于请求接口let ajaxTimes=0;export const request=(params)=>{ // 判断 url中是否带有 /my/ 请求的是私有的路径 带上header token let header={...params.header}; if(params.url.includes("/

2021-05-16 21:29:32 186 1

原创 获取微信收货地址

获取收货地址是一个难点首先我是将我所需的方法进行了封装/** * promise 形式 getSetting */export const getSetting=()=>{ return new Promise((resolve,reject)=>{ // wx.getsetting是获取用户的当前设置。返回值中只会出现小程序已经向用户请求过的权限 wx.getSetting({ success: (result) => {

2021-05-16 21:21:52 644 5

原创 微信小程序的收藏,分享,客服功能

在微信小程序的购物车功能中有好多功能都是被封装过得,比如今天我们来学习的功能,就有被封装过得具体如下所以我们在写分享,客服这些功能时,只需要在button中设置open-type中的属性值即可收藏的话,是一个比较简单的功能,代码如下 handleCollect(){ //我们将所需收藏的数据放在本地种 let shouc=wx.getStorageSync('shouc')||[]; //判断本地中的数据有没有重复,用findInd

2021-05-16 21:12:34 332

原创 微信小程序的上拉加载,下拉刷新

微信小程序的上拉加载和下拉刷新有点不一样我们先在所需要进行上拉加载和下拉刷新的页面进行开启这项操作的步骤一enabPullDownRefresh:true当我们进行开启后,我们先进行下拉刷新const app=getApp()​Page({ /** * 页面的初始数据 */ data: { llll:{}, }, onLoad: function (e) { this.data.llll=e .

2021-05-16 20:46:57 1276 2

原创 微信小程序支付流程

微信小程序支付功能的简单介绍关于微信小程序的支付功能来讲,我们遇见这个大部分都是在购物是会接触到的功能之一,也算微信小程序功能中的一个小难点,也很常见,我们今天来了解一下我们来用购物车举例子,在结算中会牵扯到我们的支付功能,那么我们今天来说一下首先我们应该有一个这样的布局,流程大致就是当我们点击结算的时候,我们应该用一些判断,满足那些判断后,我们才可进入支付的界面,那么我们就先来看看要满足那些条件1.我们点击结算时应该有用户的地址2.我们应该够物品被选中当我们的这两个条件满...

2021-05-13 21:38:19 423 2

原创 promise封装wx.request

为什么要封装wx.request? 因为我们请求接口时,有时候会请求一个接口的多个api,如果没有使用封装,那么我们编写代码会变得繁琐,并且也会导致性能问题。 封装的话,利于我们编写,并且提高用户体验和便于代码的修改。对于封装的选择为什么使用promise? 当我们进行微信小程序的编写时,写到wx.request的时候,我想大家一定不陌生这种写法,和$.ajax的写法有相似之处。我们对于$.ajax的封装,想必大家并不陌生,这也就不难让我们联想到promise了。并且我们的微信小程序是...

2021-05-07 21:20:19 921 10

空空如也

空空如也

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

TA关注的人

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