自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 vue项目引入富文本编辑,图片上传/视频上传

vue项目引入富文本编辑,图片上传/视频上传

2022-12-06 10:47:53 1728 1

原创 vue数组去重,数组对象去重

vue数组去重,数组对象去重

2022-11-02 16:23:09 2355

原创 小程序项目的id传递与接收和跳转选项卡页

1.从wxml传递id在js中用e接收<--!wxml--><van-button data-id="{{item.id}}" bind:click="remove" >删除</van-button>2.接收id//jsremove(e){//e是接收传递过来的id}3.跳转选项卡页//jswx.redirectTo({ url: '路径?active=1', //?active=1是跳转的选项卡页 0是第一页 1是第二页 })

2022-01-11 14:28:30 856

原创 git跳转详情传递id uniapp

git 传递idtemplate列表页跳转详情<template><u-buttin @click="particulars(index)"></u-button></template>methodsparticulars(index) { this.$Router.push({ path: '跳转路径', query: { patientId: this.list[index].要传递的id

2021-09-13 17:42:08 119

原创 uni-app的地址三级联动

1、template样式<view class="wrap" type="text" > <view class="region"> 请选择地区: </view><picker class="pickerList" mode="multiSelector" :range="newProvinceDataList" :value="multiIndex"@change="pickerChange" @columnchange="pickerColumn

2021-09-08 17:39:37 2569

原创 vue-router 鉴权 守卫

一、全局路由守卫所谓全局路由守卫,就是小区大门,整个小区就这一个大门,你想要进入其中任何一个房子,都需要经过这个大门的检查//main.js中设置全局导航守卫,所有路由都会经过 //全局前置守卫beforeEach, 全局后置守卫afterEach() router.beforeEach((to,from,next)=>{​ next() //决定页面是否继续向下走 next(true); });二、组件路由守卫// 跟 methods: {}等同级别书写,组件

2021-07-16 19:03:17 184

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

1.在引入element-ui中修改样式不成功去除css中的scoped去除scoped会影响别的样式所以不建议使用2.在css样式中可以添加样式 >>> 样式同样生效但在scss和less中样式不会生效3. 在scss和less中样式穿透添加 /deep/ 就会生效...

2021-06-11 08:00:46 296

原创 Windows下载安装Nginx

一、介绍Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。 Nginx是一款轻量级的Web服务器/反向代理服务器以及电子邮件代理服务器,并在一个BSD-like协议下发行。由俄罗斯的程序设计师lgor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler使用。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。 Nginx相较于Apache\lighttpd具有占有内存少,稳定性高等

2021-06-07 11:59:45 1759

原创 vant-ui 按需引入

1.当我们在项目中使用vant的时候,首先安装vant-ui插件分别是:先安装vant-ui,再安装按需引入的插件安装vant-uinpm i vant --save安装按需引入的插件npm i babel-plugin-import -D2.在min.js中引入vantimport 'vant/lib/index.css';// 全局引入按需引入UI库 vantimport '@/plugins/vant'3.在vant官网中找到按需引入并把它复制到babel.config.js中

2021-06-03 21:56:36 1283 1

原创 axios拦截,api统一管理

1.首现在项目中我们在src目录下创建一个api文件夹,在文件夹中创建两个js文件分别为api.js和http.js文件名可以自定义2.http中对axios进行的封装,添加请求拦截和响应拦截。在请求拦截中,给请求头添加token字段,还有loading动画的开启。在响应拦截中,可以做一些loading动画的关闭,还有可以根据后端返回的状态码,做一些检验token是否有效或者过期的操作。//在http.js中引入asioximport axios from 'axios';//引入axiosimp

2021-06-03 21:44:00 76

原创 vue项目开发流程

1.创建项目 1.首先创建项目,我用的项目是vue 3.0 可以在新建文件夹中cmd,进入命令符,vue create 项目名 创建项目也可以在 命令符中vue ui 在浏览器中创建项目 2.项目安装好后,安装自己需要的各种插件, 3.我们常用的axios(请求)、框架(后台管理系统安装element-ui,移动端安装vant) ,vuex-persistedstate(数据持久化插件),前期我们先安装这几个,后面根据项目的需要,在安装需要的插件2.配置多环境变量1.在package.js

2021-06-03 21:17:42 1057

原创 transition

transition:过度属性(all) 过度完成时间 缓冲描述 延迟时间;第一个参数(transition-property):过度属性,可以直接写all第二个参数(transition-duration):过度时间,单位是s第三个参数(transition-timing-function):缓冲描述,linear匀速,ease非匀速,cubic-bezier贝塞尔曲线第四个参数(transition-delay):延迟时间,单位是s<!DOCTYPE html><html

2021-06-01 20:34:17 781

原创 keep-alive

keep-alive是Vue提供给我们一个内置组件,用来在路由切换的时候保存我们的组件状态当我们在切换路由需要保存失活组件的状态的时候需要用到,比如我浏览淘宝滑动的中间位置,然后又去购物车页面,再回到首页的时候能够保存住我刚才滑动的位置作用:保存我们路由切换时组件的状态 , 比如列表页面进入详情,我们想保存列表滚动的位置,我们就可以 使用keep-alive保存列表页面的滚动位置。组件使用keep-alive以后会新增两个生命周期 actived() deactived(),

2021-06-01 18:57:07 55

原创 事件委托(事件代理)(传统的,vue , e.target.dataset.index)

那什么叫事件委托呢?它还有一个名字叫事件代理,JavaScript高级程序设计上讲:事件委托就是利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件。那这是什么意思呢?网上的各位大牛们讲事件委托基本上都用了同一个例子,就是取快递来解释这个现象,我仔细揣摩了一下,这个例子还真是恰当,我就不去想别的例子来解释了,借花献佛,我摘过来,大家认真领会一下事件委托到底是一个什么原理:有三个同事预计会在周一收到快递。为签收快递,有两种办法:一是三个人在公司门口等快递;二是委托给前台MM代为签收。现实当中,

2021-06-01 18:51:44 793

原创 2021-06-01

闭包闭包:当一个函数用到了另外一个函数的变量,那么这个变量和这个函数的环境就是闭包环境,主要体现是通过函数嵌套或者通过作用域链的方式来实现的。优点:不会造成变量污染缺点:容易造成内 存泄漏...

2021-06-01 08:08:43 44

原创 let 和var const区别

let 和var const区别var是es5提出的,let和const是ES6提出的,var定义的变量,没有块的概念,可以跨块访问, 不能跨函数访问。let定义的变量,只能在块作用域里访问,不能跨块访问,也不能跨函数访问。const用来定义常量,使用时必须初始化(即必须赋值),只能在块作用域里访问,而且不能修改...

2021-05-28 18:51:48 53

原创 this指向问题、new的过程

this指向问题、new的过程1.谁调用就指向谁。事件监听函数内部,this指向绑定事件监听的那个元素节点构造函数内部,this指向创建的新对象。对于箭头函数,由于没有自身自变量、this,所以指向环境中的this一个函数没有前缀调用(被引用),也就是普通调用,this指向全局变量。在严格模式下,this为undefine。2.new创建对象2.赋值原型3.调用foo函数,修改this指向4.返回obj...

2021-05-27 21:21:52 59

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

作用域、作用域链、自由变量、变量提升1.作用域函数变量的作用范围, 主要分为全局变量和局部变量局部变量就是定义在函数内部的变量,这个变量只能在函数内部使用全局变量就是定义在函数外部的变量,在当前文件内有效2.作用域链当代码在一个环境中执行时,会创建变量对象的一个作用域链(作用域形成的链条)作用域链的前端,始终都是当前执行的代码所在环境的变量对象作用域链中的下一个对象来自于外部环境,而在下一个变量对象则来自下一个外部环境,一直到全局执行环境全局执行环境的变量对象始终都是作用域链上的最后一个

2021-05-27 21:19:27 74

原创 数组常用方法

数组常用方法 (es4,es5,es6)push 方法可向数组的末尾添加一个或多个元素,并返回新的长度。末尾添加,返回的是长度,会改变原数组。Pop 方法用于删除并返回数组的最后一个元素。返回最后一个元素,会改变原数组。Unshift 方法可向数组的开头添加一个或更多元素,并返回新的长度。返回新长度,改变原数组Shift 法用于把数组的第一个元素从其中删除,并返回第一个元素的值。返回第一个元素,改变原数组。Sort() 数组元素进行正向排序,默认升序Reverse() 方法用于颠倒数组中元素的顺

2021-05-26 19:44:45 50

原创 有关call和apply、bind的this指向

10.有关call和apply、bind的this指向1.在浏览器里,在全局范围内this 指向window对象;2.在函数中,this永远指向最后调用他的那个对象;3.构造函数中,this指向new出来的那个新的对象;4.call、apply、bind中的this被强绑定在指定的那个对象上;5.箭头函数中this比较特殊,箭头函数this为父作用域的this,不是调用时的this.要知道前四种方式,都是调用时确定,也就是动态的,而箭头函数的this指向是静态的,声明的时候就确定了下来;6.ap

2021-05-26 19:39:28 150

原创 原型、原型链

javascript原型、原型链1. prototype每个函数都有一个prototype属性,被称为显示原型2.proto每个实例对象都会有_ _proto_ _属性,其被称为隐式原型每一个实例对象的隐式原型_ _proto_ _属性指向自身构造函数的显式原型prototype3.constructor每个prototype原型都有一个constructor属性,指向它关联的构造函数。4.原型链获取对象属性时,如果对象本身没有这个属性,那就会去他的原型__proto__上去找,如果还查不

2021-05-26 19:37:49 39

原创 深拷贝面试必备

深拷贝(什么是深拷贝,为什么要进行深拷贝,如何进行深拷贝(至少写三种方法,手写深拷贝))?1.什么是深拷贝是指,建一个新的对象和数组,将原对象的各项属性的“值”(数组的所有元素)拷贝过来,是“值”而不是“引用” 我们希望在改变新的数组(对象)的时候,不改变原数组(对象)2.三种方法实现方法1.slice 方法实现数组的深拷贝该方法可以将原数组中抽离部分出来形成一个新数组,只要设置为抽离全部,即可完成数组的深拷贝const arr = [1,2,3,4,5]const arr2 = arr.sl

2021-05-26 19:33:15 56

原创 vue-router(两种路由模式、编程式、组件式如何传参

vue-router(两种路由模式、编程式、组件式、如何传参(优缺点)、)两种模式:history/hash编程式:this.router.push(path:′newDetail/495′);组件式:<router−liketo="/user/useradd">增强用护</router−link>传参:传this.router.push({path:'newDetail/495'});组件式:<router-like to="/user/useradd">增强用护

2021-05-26 19:30:41 136

原创 vuex(概念、几部分组成、map高级语法、数据持久化面试题

vuex(概念、几部分组成、map高级语法、数据持久化)1.vuex是什么?Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式,它采用集中式存储和管理程序的所有组件的数据vuex实现组件件通信是在大型项目中使用。2.几部分组成1.state 存储数据 在组件中的使用 this.store.state.属性名2.mutations直接操作state中的数据在组件中的使用this.store.state.属性名 2.mutations 直接操作state中的数据 在组件中的使用

2021-05-26 19:26:48 110

原创 组件之间的传值面试题

组件之间的传值;vue中的组件传值分为3种:父传子、子传父、和兄弟传值;第一种父传子,主要是通过props来实现的具体实现:父组件通过import引入子组件,并注册,在子组件标签上添加要传递的属性,在子组件通过props来接收,接收有两种形式一是通过数组形式,要接收的属性【】,接收过来的数据可以直接使用,二是通过对象的形式来接收{},对象形式可以设置要传递的数据类型和默认值。第二种子传父:主要是通过emit来实现在子组件中通过绑定事件来触发函数,在其中设置this.emit 来实现在子组件中通过绑

2021-05-26 19:24:52 657 2

原创 vue 的生命周期函数

vue 的生命周期函数,有那些?在项目中怎么使用?以及应用场景?1.vue的生命周期函数分为:创建前beforeCreate :在实例初始化之后执行此时对象还未创建,el 和data并未初始化,因此无法访问 methods,data ,computed等方法和数据。2.创建后:created:最早开始使用data和methods中的数据的钩子函数,这个阶段可以数据请求,但是不能dom操作。3.挂载前:beforeMount:挂载开始之前被调用,把data里面的数据和模板生成html,完成了el和da

2021-05-26 19:22:20 7753

原创 面试必备

1.vue 的生命周期函数,有那些?在项目中怎么使用?以及应用场景?1.vue的生命周期函数分为:创建前beforeCreate :在实例初始化之后执行此时对象还未创建,el 和data并未初始化,因此无法访问 methods,data ,computed等方法和数据。2.创建后:created:最早开始使用data和methods中的数据的钩子函数,这个阶段可以数据请求,但是不能dom操作。3.挂载前:beforeMounted:挂载开始之前被调用,把data里面的数据和模板生成html,完成了e

2021-05-20 22:00:51 98

原创 uni-app封装propmise

第一步首先在项目中新建一个文件夹,在文件夹中新建一个request.js,匿名可以自己定义,在main.js中引入并把他挂载到vue的原型const request = require('./request/request.js')Vue.prototype.$axios = request.request;第二步在request.js文件中封装module.exports={ request(url,method,data){ return new Promise((resolve,rej

2021-05-19 08:00:01 141 1

原创 小程序优购商城项目讲解

1.新建⼩程序项⽬填入自己的appid搭建⽬录结构styles 存放公共样式 components 存放组件 lib 存放第三⽅库 utils ⾃⼰的帮助库 request ⾃⼰的接⼝帮助库2.在app.json中实现路由导航,跳转详情3.引⼊字体图标 1. 打开阿⾥巴巴字体图标 ⽹站 2. 选择的图标 3. 添加⾄项⽬ 4. 下载到本地 5. 将样式⽂件 由 css 修改为 wxss 6. 在app.app.wxss中引⼊@import "./styles/iconfont.wxss";

2021-05-17 22:01:57 564

原创 uni-app 的基础安装步骤

1.首先下载HBuilder X 可以选择App开发版(261.97M)下载别的版本也可以,不过后期还带下载插件2.下载完成后打开HBuilder X 在文件中创建新的项目3.创建完成后会自动生成uni-app 的文件4.在运行中设置微信小程序的路径*点击运行会弹出菜单,在菜单里找到运行到微信小程序模拟器*5.点击运行设置6.右键点击微信开发者工具打开文件所在位置6.配置微信开发者工具的路径7.这个时候打开微信开发者工具点击设置8.点击安全设置打开安全设置9.在HB

2021-05-17 16:59:05 3156

原创 微信小程序发布流程

1.发布流程1.在小程序里配置服务器域名2.配置成功后3.点击上传的时候填写版本号、和项目备注4.上传完成后在微信小程序中配置资料地址:https://mp.weixin.qq.com/wxamp/wacodepage/getcodepage?token=1973098506&lang=zh_CN5.添加成员6.添加体验成员7.点击版本管理提交审核8.提交审核完成后会显示审核中...

2021-05-17 11:02:06 346

原创 vuex的添加,删除,选中,和vue的组件拆分

1.首先在组件中定义一个enter事件 <input type="text" class="txt" v-model="txt" @keydown.enter="add" />2.在data中定义双向绑定的内容data() { return { txt:"" }; },3.在methods判断数据是否为空,把他传入vuex中 methods: {

2021-05-16 21:44:30 887

原创 小程序支付流程

1.小程序支付流程1.按钮<view class="order_pay_wrap" bindtap="add" > 支付({{totalNum}}) </view>2.点击 支付async add() { try { }catch (error) { await showToast({ title: "支付失败" }) console.log(error); }3.判断缓存中有没有tokenconst

2021-05-16 20:22:34 56

原创 小程序授权登陆流程

1.首先在页面定义按钮当点击他的时候<button type="primary" plain open-type="getUserInfo" bindgetuserinfo="btn" > 获取授权</button>2.获取用户的信息 // 1 获取用户信息 const { encryptedData, rawData, iv, signature } = e.detail;3.获取登录成功后的tcodeconst { code } = await

2021-05-16 20:07:14 206 1

原创 小程序获取收货地址流程

1.如何获取小程序的收货地址流程首先当点击button的时候 <view class="btn" bindtap="d" wx:if="{{!aa.userName}}"> +点击添加收货地址 </view>2.当点击的时候或许收货地址d(){wx.chooseAddress({//获取收货地址 success: (result) => { console.log(result); wx.setStor

2021-05-16 19:48:59 89

原创 小程序如何写收藏、分享、客服功能

小程序如何实现简单的实现,收藏,分享,和客服功能。1.首先是收藏的功能。在页面布局并绑定事件, <view class="shou" bindtap="addsc"> <view class="iconfont {{isCollect?'icon-shoucang1':'icon-shoucang'}} "></view> <text class="collect">收藏</text> </

2021-05-16 19:24:33 228

原创 小程序下拉刷新,上拉加载更多

1.在json数据中引入2.执行下拉刷新在onReachBottom中执行上拉触底事件3.在接口的前面写入wx.showLoading({ title: '刷新中...', })4.结束后执行在这里插入代码片 this.setData({ list: [] }) wx.showLoading({ title: '加载', }) this.data.pagenum = 1 this.gh() wx.s

2021-05-14 21:23:43 70

原创 小程序的组件通信

1.微信小程序组件通信,新建一个components文件夹,在文件夹里新建一个子组件的文件夹然后再子组件的文件夹右键点击会出现菜单,有一个component,然后点 击,会自动生成子组件2.创建子组件3.右键点击component后会自动生成的文件4.在父组件的json中注册子组件5.把父的样式复制到子组件6.在父组件中直接可以使用,传递要用数据<Swiper arr="{{arr}}" />7.在子组件的js中接收8.把父组件的定义的样式复制到子组件中...

2021-05-14 20:27:16 355

原创 微信小程序propmise封装

1.创建1个http文件夹在htpp里分别创建3个js文件,分别是api .js就是基地址后面的地址的合级,http.js接口的基地址并导出,fetch.js封装的方法2.在fetch.js写封装的方法3.接口地址的集合4.http.js接口的基地址并导出,5.在app.js中注册var http = require('./http/http') http:http6.在文件中引入并使用1.引入var app = new getApp()2.使用app.http.banner

2021-05-14 19:35:51 94

原创 微信小程序

微信小程序的下载1、下载!https://developers.weixin.qq.com/miniprogram/dev/devtools/devtools.html 下载微信小程序开发软件可查看小程序内置组件2、微信小程序发布流程https://mp.weixin.qq.com创建小程序1.项目名称可以随便起2.目录3.APPID在开发管理、开发设置4.后端服务选择不使用服务端5.直接点击新建就好##创建完成后全局配置全局样式1、在app.json里配置路由那个写在

2021-05-07 20:49:24 80

空空如也

空空如也

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

TA关注的人

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