自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 vue3+ts+vite搭建项目(保姆级)

其它名也可以,因为pinia它有一个根文件,会把 defineStore 第一个参数当id值,相当于vuex中的 module 自动引入,也会在Vue.js devtools 插件中以第一个参数名展示(下面展示)它的命名在devtools 插件能方便找到这个文件的数据,方便调试。:返回的函数统一使用useXXX作为命名方案,这是约定的规矩。想要方便使用axios,想要封装统一的请求头处理,便于接口的统一管理,以及解决出现回调地狱。1.在vite-env.d.ts下面写入。一个不解构,一个不解构看看区别。

2023-09-08 11:04:05 693

原创 前端环境配置

基础前端需要的工具以及相关学习网站

2023-09-05 11:31:00 155

原创 base64ToFile

上传图片时候有时候要进行裁剪,裁剪完成后的格式是base64,后端一般要formdata格式,我们就要先转file流格式然后在formdata格式转filebase64ToFile(base64, fileName) { const arr = base64.split(","); const type = arr[0].match(/:(.*?);/)[1]; const bstr = atob(arr[1]); let n = bstr.leng

2022-01-12 11:43:42 748

原创 动态传参 ( 路由传参,页面传参 )

组件传参父传子<Son 自定义属性=”值(类型obj)”/>子组件 通过 props 接收props: [ ‘自定义属性’] props: {自定义属性: {type: Objectdefault: ()=> {}}}子传父<Son @子组件传递的函数名=”fn父组件的函数”/>子组件:this.$emit(“子组件函数名字”,值);父组件:fn(data){ data === 子组件传递的值 }...

2021-12-27 21:31:23 1066

原创 本地存储的工具js文件

/* 本地存储的工具js*/export default { // 存 set (key, val) { return localStorage.setItem(key, JSON.stringify(val)); }, // 取 get (key) { return JSON.parse(localStorage.getItem(key)); }, // 删 remove (key) { .

2021-12-27 21:20:55 303

原创 面包屑导航 组件<el-breadcrumb>

<el-breadcrumbseparator-class="el-icon-arrow-right"><el-breadcrumb-item:to="{path:'/'}">首页</el-breadcrumb-item><el-breadcrumb-item>活动管理</el-breadcrumb-...

2021-12-20 01:17:22 1602

原创 token的作用(请求拦截器 和 响应拦截器)

Token是一个身份令牌。在发请求的时候,要携带到请求头中。Token从哪里来? 登录成功来/点击登录按钮submitForm(){//ui框架自带的方法validate((valid)=>{valid就是验证结果});this.$refs.loginForm.validate(async(valid)=>{if(valid){...

2021-12-20 01:04:45 1543

原创 表单验证与自定义表单验证

/验证规则rules:{ // 多个验证用数组 单个验证用对象//验证账号acc:[{required:true,message:'不能为空',trigger:'blur'},{min:3,max:6,message:'长度在3到6个字符',trigger:'blur'...

2021-12-20 01:01:49 266

原创 echarts的使用

安装 yarn add echarts || npm i echarts -S 在哪个组件要使用,就在哪个组件引入echarts实例 import* asecharts from'echarts';必须定义一个容器,必须有宽高。 在mounted生命周期中,创建echarts的实例 因为要获取节点。 mounted(){varmyCharts=echarts.init(this.$refs.box);varoption...

2021-12-20 00:55:53 160

原创 element-ui树菜单配置(El-menu)

<el-menurouter 把index转换为router模式,index===跟上hashunique-opened 默认展开一项:default-active="this.$route.path" 默认激活当前的indexclass="el-menu-vertical-demo"background-color="#545c64"text-color="#fff"active-text-c...

2021-12-20 00:54:22 1030

原创 浅谈路由配置

没有子菜单的路由配置/订单管理{path:"/order",component:Layout,children:[{path:"",component:()=>import("@/views/layout/order/Order.vue")}]},有子菜单的路由配置//商品管理{path:"/goods",c...

2021-12-20 00:50:45 97

原创 Axios 企业级3封装以及常见的get和post请求写法

暂定

2021-12-20 00:37:22 683

原创 浅淡Promise

Promise我认为出来的主要目的是为了解决回调地狱回调地狱回调函数嵌套回调函数,如果嵌套的层级过多,称为回调地狱。注意: 回调地狱:本身对于实现代码功能是没有任何问题的。 缺点是: ==可读性差,后期不好维护==。回调地狱写法axios.get('接口1') .then(res => { // res.data就是后端响应的数据 axios.get('接口2') .then(res => { /.

2021-12-18 21:11:30 166

原创 浅谈同步和异步

同步和异步的概念 代码从上往下,依次执行,后面的代码必须等待前面的代码执行完毕,才会执行(js基本上大部分情况都是同步的)。【同步会阻塞代码】 代码从上往下,依次执行,遇到异步代码,异步代码会让开,等待所有同步代码执行完毕,才会最后执行。【异步不会阻塞代码】 JS中异步的三大场景定时器 console.log('1')setTimeout(() => { console.log('5')}, 100)setTimeout(() => { con...

2021-12-18 19:58:59 270

空空如也

空空如也

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

TA关注的人

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