创建vue3+vite+ts+elementplus+router+axios项目

该文详细介绍了如何使用Vite搭建Vue3和TS项目,引入ElementPlusUI库,配置VueRouter进行动态路由和重定向,以及设置路由守卫。同时,文章讨论了Axios的封装和API调用,参数传递中qs库的应用,以及js-cookie的使用。此外,还涉及了Vuex的状态管理,Day.js的时间处理,Echarts组件封装和Promise的各种用法。
摘要由CSDN通过智能技术生成

vite+vue3+ts

npm init vite
//选择vue 选择ts 填写项目名称
npm  i vue-router@next vuex@next axios
//安装路由,vuex,axios
npm i
//安装依赖
//如果没有network地址
在package.json的dev vite 后面加上--host

引入elementplus

在这里插入图片描述

引入router

第一种
在这里插入图片描述
第二种
在这里插入图片描述

动态添加路由

在这里插入图片描述
用数组的方法,比较笨,可以不用看,只是数组的用法比较妙
在这里插入图片描述

重定向

在这里插入图片描述

在app,vue里面加上占位符才能看出来效果。

路由跳转
import { useRouter } from 'vue-router'
let router = useRouter();
router.push('/home')

前置路由守卫

在这里插入图片描述

next()//放行!!!
next(param)//中断

开始搭建,项目布局

根据原型ui,去elementplus找类似例子

关于数据

const state = reactive({
	ruleFrom:{}
})
const {ruleFrom} = toRefs(state)
//用toRefs解构,解构之后的数据依然是响应式数据

关于elementui表单按钮触发整体校验

在这里插入图片描述

axios

封装axios

在这里插入图片描述

封装请求api

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

api使用

在这里插入图片描述

接口传参

传参格式有json和form-data
当post请求的数据需要用query的方式传时,复杂类型的传参会出现问题。可以使用qs库的方法使其转换成form-data类型且容易识别的格式

qs库
npm i qs
npm i @types/qs -D //类型库
import qs from 'qs'
qs.stringify(data)
//qs.stringify({a:12,b:[1,2]}) 
//a=12&b=1[] a=12&b=2

在这里插入图片描述在这里插入图片描述在这里插入图片描述

js-cookie

npm i js-cookie 
import cookie from 'js-cookie'
cookie.set('name','value',{expires:7))//7天过期
cookie.get('name')
cookie.remove('name')

less

有边距存在

新建rebase.less
*{
}
在App.vue
//去掉scoped
@import url("./assets/style/rebase.less")
html,body{
	height:100%
}
#app{
	height:100%
}

VUEX

在这里插入图片描述
getters属性类似于计算属性(computed)可缓存。当state无法直接用的时候可以用getters.
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

elementplus 菜单

数据处理,权限控制

在这里插入图片描述

处理时间

day.js

方法处理

在这里插入图片描述
在这里插入图片描述

封装组件

父组件
在这里插入图片描述
在这里插入图片描述
子组件
在这里插入图片描述
在这里插入图片描述

echarts

npm i echarts
//import echartsfrom 'echarts'  这样会爆没有默认导出的问题(export default)
import * as echarts from 'echarts' //所有导出都命名为echarts

在这里插入图片描述根据父子组件渲染顺序,父组件请求的接口数据是异步到达的,所以子组件里需要再把红框的内容放入watch()方法里面

在这里插入图片描述

echarts地图

在这里插入图片描述在这里插入图片描述

promise

在这里插入图片描述

promise.all()

类似于并在这里插入图片描述在这里插入图片描述

promise.race() 竞赛

返回最快执行的那个,最快的是resolve就从then返回,最快的是reject就从catch返回
在这里插入图片描述

promise.allSettled()

类似于all会等全部执行完,但是不管reject还是resolve都是从then返回。返回状态和value。
在这里插入图片描述
在这里插入图片描述

promise.any()

类似于或
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值