首页 > 其他分享 >关于vue3中 再进入模块前的一些请求初始化数据的方法

关于vue3中 再进入模块前的一些请求初始化数据的方法

时间:2024-12-20 17:44:25浏览次数:5  
标签:初始化 console 请求 模块 vue3 beforeRouteEnter 数据 log

在进页面前可能需要初始化一些请求数据,用于后续的数据请求

传统的做法是在mounted中嵌套请求方法来请求数据

在vue3 中

我们可以使用 beforeRouteEnter

<script lang="ts"> export default {   async beforeRouteEnter(to: any, from: any, next) {     console.log(111);         await new Promise((resolve, reject) => {       setTimeout(() => {         console.log(222);         next(vm => {     //vm是当前组件对象 如果想要使用组件中的方法可以通过defineExpose来抛出方法、     //意思就是不仅可以获取到方法  还可以修改ref初始数据     //也可以在此更改vuex或者pinia 的数据 用于后续的请求           console.log(vm);         })         resolve(true)       }, 2000);     })      console.log("beforeRouteEnter",to ,from)    } } </script> 在一个 .vue文件中写两个script 第一个中就是上面这个beforeenter方法用于请求初始化数据 下面再写一个script标签用于当前组件正常工作。 原因是因为SFC这种写法中并没有将beforeRouteEnter暴露出来 以上是第一种方法   第二种方法是  {             path: '/book',             name: ’BOOK‘,     component: () => import('@/pages/book/index.vue')             beforeEnter: async (to, from) => {                 //进入book的时候需要拿到书的type并剔除几种数据的类型用于初始化查数据                 return await getBookType()             },         }, 这种是在路由入口的地方做拦截,在请求完成后可以更新vuex或者pinia来初始化页面接口的请求入参,不过官方没有推荐这张做法,请参考 https://router.vuejs.org/zh/guide/advanced/data-fetching.html 个人比较推荐第二种,可以将每个模块的数据初始化请求接口都写到一起,调用看起来比较整齐,不会显得特别的乱      vue3以本人目前浅薄的学识来看是比较喜欢的前端框架,相较于react 18.3 ,个人使用感觉更加完善、更加简单。      

 

标签:初始化,console,请求,模块,vue3,beforeRouteEnter,数据,log
From: https://www.cnblogs.com/HePandeFeng/p/18619673

相关文章

  • 记~vue3中ColorThief的介绍与使用
    安装npmicolorthief 效果 代码<template><div><imgref="image"src="@/assets/img/no-message.png"alt="示例图片"><button@click="getColorPalette">获取颜色</button><div>......
  • Vue3——CompositionAPI(组合式API)
    一、CompositionAPI(组合式API)OptionsAPI:选项式API,这是Vue2的用法,其中将数据、方法和计算属性都是分散在data、methods、computed等版块中,不便于维护和复用CompositionAPI:组合式API,这是Vue3的用法,是用函数的方法将相关功能的代码更加有序地组合在一起,相当于一个函数里面包含了数......
  • Unity复刻胡闹厨房复盘 模块一 新输入系统订阅链与重绑定
            本文仅作学习交流,不做任何商业用途        郑重感谢siki老师的汉化教程与代码猴的免费教程以及搬运烤肉的小伙伴                                                         版本:Unity6......
  • html中使用vue3+element-plus
    <!DOCTYPEhtml><html> <head> <metacharset="utf-8"> <title></title> <!--本地引用--> <!--<linkrel="stylesheet"href="css/element-plus.css"/> <scriptsrc=&qu......
  • vue3.5.13 + vite6.0.1搭建前端项目的配置文件
    main.js//vue版本为3.5.13import{createApp}from'vue'import'./style.css'importAppfrom'./App.vue'import'element-plus/dist/index.css'importrouterfrom'./router/index'constapp=createApp(App)......
  • python可以在命令行上运行的小工具模块
    以下是Python可以在命令行上运行的一些小工具模块,以及它们的用途和用法示例。这些模块大多属于Python的标准库,因此无需额外安装即可使用。模块用途用法示例http.server启动一个简单的Web服务器,用于共享文件或提供简单的Web服务python-mhttp.server在默认端口8000......
  • SpringBoot3+Vue3开发在线考试系统
    项目介绍项目分为3种角色,分别为:超级管理员、老师、学生。超级管理员,负责系统的设置、角色的创建、菜单的管理、老师的管理等功能,也可以叫做系统管理员;老师角色,负责系统业务的管理,包括学生管理、班级管理、试题管理、试卷管理、查看考试情况等功能;学生角色,使用系统进行在线......
  • vue3+vant-ui 上传头像,base64文件流上传及回显
    1<scriptsetup>2import{onMounted,reactive}from"vue";3import{useRouter}from"vue-router";4importrequestfrom'@/utils/request';5import{removeEmptyProps,generatehashcode}from'@/utils/......
  • 【2025】基于springboot+vue3的在线考试系统源码设计
    目录一、整体目录(示范):文档含项目技术介绍、E-R图、数据字典、项目功能介绍与截图等二、运行截图三、代码部分(示范):四、数据库表(示范):数据库表有注释,可以导出数据字典及更新数据库时间,欢迎交流学习五、主要技术介绍:六、项目调试学习(点击查看)七、项目交流一、教育信......
  • 【硬件测试】基于FPGA的2FSK调制解调系统开发与硬件片内测试,包含信道模块,误码统计模
    1.算法仿真效果本文是之前写的文章 基于FPGA的2FSK调制解调系统,包含testbench,高斯信道模块,误码率统计模块,可以设置不同SNR_fpga2fsk-CSDN博客 的硬件测试版本。 在系统在仿真版本基础上增加了ila在线数据采集模块,vio在线SNR设置模块,数据源模块。 硬件ila测试结......