当前位置: 首页 > news >正文

创意网站建设话术wordpress 菜单

创意网站建设话术,wordpress 菜单,公司做网站哪个公司做得好,报考网页在现代前端开发中#xff0c;使用 Vue 3 和 TypeScript 的组合是一种流行且高效的开发方式。Vite 是一个极速的构建工具#xff0c;可以显著提升开发体验。本文博主将指导你如何在 Vite Vue 3 TypeScript 项目中配置前置路由守卫#xff08;Navigation Guards#xff09;…        在现代前端开发中使用 Vue 3 和 TypeScript 的组合是一种流行且高效的开发方式。Vite 是一个极速的构建工具可以显著提升开发体验。本文博主将指导你如何在 Vite Vue 3 TypeScript 项目中配置前置路由守卫Navigation Guards。 前置条件 在开始配置项目前置路由守卫前博主希望你能够先达成以下前置条件 1.完成Vue3前端项目搭建: Vite 创建 Vue3 TS 项目 2.引入Vue-Router模块Vue3项目配置Vue-Router 3.完成Pinia配置Vue项目安装Pinia 1.创建前置守卫 在之前的章节中我们已经完成了路由视图和路由重定向的配置现在我们只需要为我们的路由器实例对象添加一个导航守卫就可以控制是否放行路由跳转啦。 我们可以通过 router.beforeEach 注册一个全局前置守卫当一个导航触发时全局前置守卫按照创建顺序调用。         守卫是异步解析执行的导航在所有守卫 resolve 完之前一直处于等待中。 // 路由配置文件 index.tsimport { createWebHistory, createRouter } from vue-router// 定义路由配置 const routes: Arrayany [{path: /,redirect: /home},{path: /login,name: Login,component: () import(//views/login/index.vue)},{path: /home,name: Home,component: () import(//views/home/index.vue),} ]// 创建路由实例 const router createRouter({history: createWebHistory(), // 导航历史记录模式routes })// 导航守卫 router.beforeEach((to, from) {// 返回 false 以取消导航return false })// 导出实例 export default router 每个路由守卫都可以有以下三个参数 to即将要进入的目标from当前导航正要离开的路由next当你在使用next时确保 next 在任何给定的导航守卫中都被严格调用一次。它可以出现多于一次但是只能在所有的逻辑路径都不重叠的情况下否则钩子永远都不会被解析或报错。 2.配置无token跳转登录页 既然知道了 Vue-Router 导航守卫的工作机制那么我们现在可以尝试一下结合 Pinia 进行路由控制了 2.1.配置User状态 在 src/store/ 目录下新建 userInfo.ts 文件用于存储 User/token 等状态 // userInfo.tsimport { defineStore } from pinia import { reactive } from vueinterface UserInfo {token: string,userId: string,userName: string,roles: Arraystring }export const useUserInfoStore defineStore(userInfo, () {const state reactive({userInfo: {} as UserInfo})const setUserInfo (userInfo: UserInfo) {state.userInfo userInfo}const getUserInfo () {return state.userInfo}return { state, setUserInfo, getUserInfo } }) 2.2.配置前置路由守卫 在 router.beforeEach 中根据token配置路由跳转: // index.ts 路由配置文件import { createWebHistory, createRouter } from vue-router // 引入我们刚才写好的 Pinia 状态 import { useUserInfoStore } from //store/userInfo// 定义路由配置 const routes: Arrayany [{path: /,redirect: /home},{path: /login,name: Login,component: () import(//views/login/index.vue)},{path: /home,name: Home,component: () import(//views/home/index.vue),} ]// 创建路由实例 const router createRouter({history: createWebHistory(), // 导航历史记录模式routes })// 导航守卫 router.beforeEach((to, from, next) { const userInfoStore useUserInfoStore()if ((to.path /login) (!userInfoStore.state.userInfo.token)) {next()} else {if (userInfoStore.state.userInfo.token) {next()} else {next(/login)}}})// 导出实例 export default router 3.效果测试 项目根路径下(与src目录同级)运行命令行 # 启动项目 $ npm run dev 可见现在我们的pinia中没有存储的有token所以在项目启动时被全局前置守卫拦截下来跳转到登录路由。
http://www.hkea.cn/news/14472060/

相关文章:

  • php网站搭建环境网站编辑怎么样
  • 南京做网站老铁外链工具
  • 网站建设策划 流程图网站如何改造wap
  • 物业网站模板芜湖seo外包公司
  • 五莲网站建设报价网站建站公司公告
  • 网站建设怎么让网站收录wordpress 充值系统
  • 厦门市同安区建设工程质量安全监督站网站wordpress处理大数据
  • 镇江网站建设门户报价软件库合集软件资料链接
  • 怎么做网站接家纺订单做网站是需要多少钱
  • html网站建设中源代码wap网站解析
  • 怎么样做移动油光文字网站做网站买岩棉
  • 帮人做钓鱼网站做后期的网站有哪些
  • 爱站网关键词查询网站百度推广怎么赚钱
  • html5网站引导页模板怎么自创网页
  • 如何看一个网站是用哪个语言做的惠州网站建设 惠州邦
  • 普同网站跟营销型网站的区别上海网站设计与开发公司
  • 网上有卖网站链接的吗惠州建设网站开发
  • 工人找工作哪个网站好装潢设计师
  • 西安那些做网站的公司腾讯云怎么做网站
  • 杭州系统vi设计苏州优化网站建设
  • 做专属淘客网站西安网站快速优化
  • 百度创意产品网站做的网站怎么上传到网上
  • 邳州城乡建设局网站网站建设内部链接
  • 电子商务网站建设专业主修课程郑州专业建网站
  • 网站关键词排名突然没了那个网站做h5不要钱
  • 怎么利用快站做网站seo个人博客
  • 网站建设续费催款通知书做网站公司天津
  • 南京网站制作公司排名网上商城怎么购物
  • 网站 做百度推广有没有效果怎么样网页设计实训报告美食主题
  • 智能锁东莞网站建设长沙高端网站建设品牌