vue3和ts封装axios以及使用mock.js详解.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

vue3和ts封装axios以及使用mock.js详解

//response

if(!params||!params.path)thrownewError(Paramsandparamsinpathcannotempty!)

//这里因为是全局的一个info,根据路由地址去请求侧边栏,所需不用把地址写死

returnrequest.postSystem.Sidebar(params.path,{routeName:params.routeName})

}

Vue文件中调用

scriptlang=tssetupname=Sidebar

import{ref,reactive,onBeforeMount}fromvue

import{info}from@/api

import{useRoute}fromvue-router

constroute=useRoute();

letloading=refboolean(false);

letsidebar=refany({});

const_fetch=async():Promisevoid={

constrouteName=route.nameasstring;

constpath=/+routeName.replace(routeName[0],routeName[0].toLocaleLowerCase())+Info

try{

loading.value=true;

constres=awaitinfo({path,routeName});

if(!res||!res.data)return;

sidebar.value=res.data;

}finally{

loading.value=false

onBeforeMount(()={

_fetch();

/script

二、mock.js的依赖安装与处理

1.安装依赖

#安装

npminstallmockjs--save

在ts中使用时,我们需要现在shims-vue.d.ts文件中去抛出模块,不然会出现引入报错的问题

/*eslint-disable*/

declaremodule*.vue{

importtype{DefineComponent}fromvue

constcomponent:DefineComponent{},{},any

exportdefaultcomponent

declaremodulemockjs;

2.新建mock所需的文件

index.ts(属于mockjs全局配置文件),mockjs/javaScript/index.ts(具体的数据文件),这两个需要关注,别的不用关注

1.新建mockjs/javaScript/index.ts(具体的数据文件)

因为我这里的数据主要是侧边栏的数据,都是固定好的,所以并没有用到mockjs的规则生成数据

import{GlobalSidebar,Sidebar}from../../sidebar;

namespaceInfoSidebar{

exporttypeInfoSidebarParams={

body:string,

type:string,

url:string

constdataSource:ArrayGlobalSidebar=[

mainTitle:JavaScript基础问题梳理,

mainSidebar:[

id:0,

hashId:This,

title:this指向,

routeName:JsBasic,

children:[

id:1,

parentId:0,

hashId:GlobalFunction,

title:全局函数

id:2,

parentId:0,

hashId:ObjectMethod,

title:对象方法

id:3,

parentId:0,

hashId:Constructor,

title:构造函数

id:4,

par

文档评论(0)

158****7369 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档