自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 iframe相关

是什么?iframe作为HTML标签使用,iframe 元素会创建包含另外一个文档的内联框架(即行内框架)。简单来说,iframeneng'gou

2021-06-14 19:53:08 164 1

原创 项目中如何修改element-ui的默认样式

一、去掉style的scoped,用最外层盒子的class名包裹需要修改组件的class名例:<template><el-container class="content"><el-button class="btn">确认</el-button></el-container></template><style>.content .btn{width:300px;}</style&gt

2021-06-10 21:24:12 668

原创 elemeng-ui 中el-form 表单校验

如图,我们以一个要求输入年龄的表单举例

2021-06-07 16:51:11 281

原创 vue打包上线流程,ngnix服务器配置

在项目打包之前,我们一般都会对项目进行打包优化打包优化的流程:项目打包优化

2021-06-07 16:42:58 241

原创 webpack打包优化

webpack打包操作主要在项目开始时、项目结束后(打包前)两个阶段进行项目开始时:

2021-06-04 18:48:31 489 3

原创 vant-ui 按需引入

vant-ui有很多引入方式,推荐自动按需引入组件,这样有利于项目打包优化,减少项目体积流程:首先安装vant

2021-06-03 16:38:22 181

原创 axios拦截,api统一管理

axios拦截我们在项目开发中,往往需要开启/关闭数据加载动画以及判断token是否过期等操作,这些操作就是在axios请求、响应拦截中进行的feng'zhuangaxios拦截

2021-06-03 16:07:43 113 1

原创 去哪儿项目开发流程(简述)

一、总览整个项目,确定技术栈,即要用哪些技术来共同完成该项目。vue2.0 + vue-cli3/4 + vue-router + axios + vuex + vant + rem + sass + webpack

2021-06-02 21:34:32 217

原创 多环境变量配置

什么是多环境变量?我们在vue项目开发中,项目在运行时会根据启动的指令来运行不同的环境,在不同的环境中,我们配置对应所需的变量来满足我们的开发需求,这些统称为多环境变量。

2021-06-02 16:10:43 439

原创 transition相关

是什么?zatransition是作为元素切换时的过渡动画,例如在一个div进行v-if,v-show的时候,他的显示与隐藏分别进行怎样的变幻,都可以由transition进行控制。

2021-06-02 00:29:40 148

原创 keep-alive相关

是什么?    keep-alive 是 Vue 的内置组件,当它包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们。和 transition 相似,keep-alive 是一个抽象组件:它自身不会渲染成一个 DOM 元素,也不会出现在父组件链中。...

2021-06-02 00:10:20 78

原创 原生Ajax创建过程及相关

一、创建xhr核心对象var xhr=new XMLHttpRequest();

2021-05-31 09:18:50 128

原创 js事件委托(事件代理)

是什么?事件委托,又名事件代理。事件委托就是利用事件冒泡,就是把子元素的事件都绑定到父元素上。如果子元素阻止了事件冒泡,那么委托也就没法实现了。优点

2021-05-30 20:30:43 228

原创 js闭包相关

she我们都知道,js的作用域分两种,全局和局部,基于我们所熟悉的作用域链相关知识,我们知道在js作用域环境中访问变量的权利是由内向外的,内部作用域可以获得当前作用域下的变量并且可以获得当前包含当前作用域的外层作用域下的变量,反之则不能,也就是说在外层作用域下无法获取内层作用域下的变量,同样在不同的函数作用域中也是不能相互访问彼此变量的,那么我们想在一个函数内部也有限权访问另一个函数内部的变量该怎么办呢?闭包就是用来解决这一需求的,闭包的本质就是在一个函数内部创建另一个函数。...

2021-05-30 20:00:13 95

原创 var let const 区别

1、是否存在变量提升?var 存在变量提升,在变量声明前调用值为undefinedlet

2021-05-30 19:27:36 98

原创 自由变量、变量提升

自由变量跨作用域被使用的变量,成为自由变量例:在 A 中作用域要用到的变量 x,并没有在 A 中声明,要到别的作用域中找到他,这个变量 x 就是自由变量。

2021-05-28 00:13:35 139

原创 作用域、作用域链

变量所起作用的范围称为作用域分为全局作用域和局部作用域

2021-05-28 00:03:13 112

原创 js中new创建实例对象的过程

首先,我们要知道new是用来创建实例对象的其次,new操作符具体干了什么呢?主要有三步:• 创建一个空对象,将它的引用赋给 this,继承函数的原型。• 通过 this 将属性和方法添加至这个对象• 最后返回 this 指向的新对象,也就是实例(如果没有手动返回其他的对象)...

2021-05-27 21:07:22 520

原创 this指向问题

this是什么?this一般存在于函数中,表示当前函数的执行上下文,在一个函数调用的时候,会传递this和arguments两个隐藏属性,在不同函数、不同情况下,this的指向是不固定的。不同情况下的this指向1、在浏览器中,在全局范围内this 指向window对象2、在普通函数中,this永远指向最后调用他的那个对象如上所示:此时,this指向调用它的对象Zpy3、在构造函数中,this指向new出来的那个新的对象如上所示,在构造函数Father中,thi.

2021-05-27 17:17:37 66

原创 原型、原型链

原型1. prototype(显式原型)每个函数都有一个prototype属性,被称为显式原型2.___proto___(隐式原型)每个实例对象都会有_ _proto_ _属性,其被称为隐式原型 每一个实例对象的隐式原型_ _proto_ _属性指向自身构造函数的显式原型prototype3. constructor每个prototype原型都有一个constructor属性,指向它关联的构造函数。4.实例与原型当读取实例的属性时,如果找不到,就会查找与对象关联的原型

2021-05-26 20:51:34 58

原创 call、apply、bind相关

是什么?bind,call,apply都是用来改变this指向的什么是this?为什么要改变this指向?在浏览器中,在全局范围内this 指向window对象; 在普通函数中,this永远指向最后调用他的那个对象; 在构造函数中,this指向new出来的那个新的对象; call、apply、bind中的this被强绑定在指定的那个对象上; 箭头函数中this比较特殊,箭头函数this为父作用域的this,不是调用时的this.要知道前四种方式,都是调用时确定,也就是动态的,而箭头函数的

2021-05-26 17:11:00 72

原创 js中的arguments

在一个函数调用的时候,每次都会传递进两个隐式参数,一个是this,一个是argumentsthis函数的上下文对象this,是一个指针,时刻指向你这个实例本身。arguments是一个封装实参的对象如下所示:从控制台中可以看出,arguments并不是一个数组,而是一个伪数组,所以不能使用数组的方法,且拥有长度,无论我们有没有在函数中定义形参,我们都可以通过索引去访问值其实参如果想要使用数组方法,可以用.from()方法将伪数组转化成真数组或者借用数组的方法(call()

2021-05-25 21:52:38 59

原创 数组常用方法 (ES4、5、6)

ES4join()将数组转换为字符串,括号里的参数为拼接字符,默认的是逗号“ ,”注意要加引号“” 例:​var arr=[1,2,3]conso.log(arr.join())//打印出1,2,3console.log(arr.join("\"))//打印出1\2\3console.log(arr)//打印出[1,2,3] 原数组不发生改变​且从上可知,原数组不变push()将指定内容添加到数组末尾,并返回修改后数组的长度,原数组发生改变。例:va...

2021-05-25 21:01:37 148

原创 js数据类型判断

进行数据判断前,首先要了解js的数据类型都有哪些数据类型基本数据类型(值类型)Number、String、Boolean、Undefined、Null、Symbol(es6新增独一无二的值) 和 BigInt(es10新增);ES6 中新增了一种Symbol。这种类型的对象永不相等,即始创建的时候传入相同的值,可以解决属性名冲突的问题,做为标记。谷歌67版本中还出现了一种bigInt。是指安全存储、操作大整数。(但是很多人不把这个做为一个类型)。引用数据类型Object。包含...

2021-05-24 23:41:07 88

原创 js数据类型

一、数据类型基本数据类型(值类型)Number、String、Boolean、Undefined、Null、Symbol(es6新增独一无二的值) 和 BigInt(es10新增);ES6 中新增了一种Symbol。这种类型的对象永不相等,即始创建的时候传入相同的值,可以解决属性名冲突的问题,做为标记。谷歌67版本中还出现了一种bigInt。是指安全存储、操作大整数。(但是很多人不把这个做为一个类型)。引用数据类型Object。包含Object、Array、 function、...

2021-05-24 23:16:20 90

原创 深拷贝

什么是深拷贝?深拷贝是指,拷贝对象的具体内容,深拷贝在计算机中开辟一块新的内存地址用于存放复制的对象。源数据改变不会影响复制的数据为什么要用深拷贝?我们复制数据的时候,为了避免源数据的改变引起的复制后的值改变,要用到深拷贝。三种实现方式1、JSON方法实现: let _tmp = JSON.stringify(obj);//将对象转换为json字符串形式 let result = JSON.parse(_tmp);//将转换而来的字符串转换为原生js对象2、通过for in实

2021-05-23 20:07:59 101

原创 vuex相关

vuex是什么?Vuex 是一个专门为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理所有组件的状态。vuex可以做什么?当多个组件共享数据状态时,由于vuex是单向数据流,父传子、子传父以及兄弟组件之间的相互传递数据就显得尤为繁琐,因此,我们为什么不把组件的共享状态抽取出来,以一个全局单例模式管理呢?此时,vuex的store对象就完美解决了该问题,将共享数据放在store的state中,任何组件都可以随时访问state中的数据vuex五大核心对象state(状态)

2021-05-23 19:33:16 80 1

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

beforeCreate(实例创建前)在此生命周期函数执行的时候,data和methods中的数据都还没有初始化,此时尚不能获取dom。created(实例创建后)在此生命周期函数中,data和methods都已经被初始化好了,如果要调用 methods中的方法,或者操作data中的数据,最早只能在created中操作。beforeMount(模板数据载入前)在此生命周期函数执行的时候,模板已经在内存中编译好了,但是尚未挂载到页面中去,此时页面还是旧的。mounted(模板数据载入后

2021-05-20 20:58:50 236

原创 vue不同组件之间通信

vue是单向数据流①props / $emit父组件通过props的方式向子组件传递数据,而通过$emit子组件可以向父组件通信。②$children / $parentthis.$children[0].msg = "hello world" //父组件修改子组件data中的数据this.$parent.mag //子组件拿到父组件data中的数据$children的值是数组,$parent的值是个对象注意:$parent,$children它们的目的是作为访问数组的应急方法,

2021-05-19 23:51:49 153

原创 使用promise封装uni.request

首先在项目根目录下创建一个request文件夹文件夹里创建一个request.js文件,用来封装uni.request如图:然后进行封装创建一个promise对象,调用uni.request()内置api,返回成功或失败数据,将请求数据所需地址、参数、请求类型作为形参封装过后导出,并在根目录下的main.js文件中全局引入且挂载到vue原型上,由此一来,每个页面都可以调用如图:在需要调用该请求的页面,推荐在method中,使用async和await,同步化封装请求事件

2021-05-19 01:07:37 192

原创 黑马优购项目详解

一、准备工作 首先将项目所用到的外网接口,添加到微信后台白名单中,以备项目完成后发布。 然后纵览整个项目,将项目划分为四个主体部分:首页,分类页,购物车页,个人中心页。 提前构思每个页面之间的联系以及每个页面所用到的关键技术。 了解项目所需外部资源,如iconfont图标,css样式等。 清楚都需要封装哪些公共组件。 查看每个页面所用到的请求接口,并在项目初始阶段封装api.js相关文件。 创建assets静态资源文件,放置所需静态资源。.

2021-05-18 02:04:01 2430 1

原创 Vuex的运行机制?

Vuex提供数据(state)来驱动视图(vue components),通过dispath派发actions,在其中可以做一些异步的操作,然后通过commit来提交mutations,最后mutations来更改state。

2021-05-17 10:35:23 587

原创 wepack的理解

1.webpack是什么?一种前端资源构建工具,一个静态模块打包器(nodule bundle) 前端所有资源文件(js/json/css/img…)都会作为模块处理 它将根据模块的依赖关系进行静态分析,打包生成对应的静态资源(bundle)2. Webpack 五个核心概念分别是什么?Entry入口(Entry)指示 Webpack 以哪个文件为入口起点开始打包,分析内部构件依赖图Output输出(Output)指示 Webpack 打包后的资源 bundles 输出到哪里去,

2021-05-17 10:31:32 243

原创 微信小程序子组件向父组件传值

第一种方法triggerEvent() 方法,类似于vue中的emit()在子组件js文件中data:{msg:“小宇真帅”}自定义一个事件,并携带参数this.triggerEvent('send'{info:msg})第一个参数为自定义事件名,第二个参数是需要传递的数据,可以是对象在父组件wxml文件中<子组件标签 bindsend="send"></子组件标签>在父组件js文件中send(e){console...

2021-05-17 00:49:51 389

原创 Vue.js的特点

简洁:页面由HTML模板+Json数据+Vue实例组成 数据驱动:自动计算属性和追踪依赖的模板表达式 组件化:用可复用、解耦的组件来构造页面 轻量:代码量小,不依赖其他库 快速:精确有效批量DOM更新 模板友好:可通过npm,bower等多种方式安装,很容易融入 ...

2021-05-17 00:18:00 776

原创 watch、computed和methods的区别

methods 封装功能函数的代码块,调用后才执行。watch 数据监听属性,当绑定的数据发生变化时,触发相应的函数,可以在监听到数据变动时,做一些异步操作。computed 可以自动监听依赖值变化的计算属性,动态返回计算结果,如果只需要动态值,就用computed,如果需要数据改变后做出相应的逻辑操作,就用watch。...

2021-05-17 00:17:15 91

原创 Proxy相比于defineProperty的优势?

Vue3.0摒弃了Object.defineProperty,改为基于Proxy(翻译过来是代理的意思)的观察者机制。 Object.defineProperty的缺点: 1、因为Object.defineProperty无法监控到数组下标的变化,所以当我们通过数组下标去赋值时,无法得到响应。2、Object.defineProperty只能劫持对象的属性,不能劫持一个完整的对象,如果属性值也是对象,无法进行深度遍历。Proxy的优点:1、可以劫持一个完整的对象,并返回一个新对...

2021-05-17 00:16:21 196

原创 微信小程序发布流程

一般来讲,在企业一个项目完成后,是不可以立即上线的,需要其测试人员进行全面的测试,待测试完毕且确保功能完善后,才可以上线在此,我们跳过测试阶段,直接发布上线,以下为具体流程第一步(准备工作)为了项目外网接口请求数据的安全性将本地设置中 不校验合法域名、web-view(业务域名).....该选项取消选中然后将项目所用到的外网接口在小程序后台网站中添加到白名单并且要确保项目中appid是自己的id,不能是测试id,否则看不到上传按钮整个项目代码大小不能超过2M,我们可以通过小程

2021-05-15 23:29:40 337

原创 微信小程序客服功能的实现

button按钮提供了一个opentype属性,当我们将opentype值赋值为contac的时候就已经实现了一个客服的功能<button open-type="contac">客服</button>

2021-05-14 18:39:31 511

原创 2021-05-14小程序获分享功能

给分分享按钮button设置open-type属性值为share即可<button open-type="share">分享</button>

2021-05-14 18:37:19 73

空空如也

空空如也

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

TA关注的人

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