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

优秀的定制网站建设提供商wordpress 菜单

优秀的定制网站建设提供商,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/14544633/

相关文章:

  • 烟台响应式网站建设vr技术对网站建设有哪些影响
  • 潍坊大型网站建设建网站点击率
  • 网站建设可行性报告模板网站二次备案
  • seo网站优化培训价格中文网站建设公司
  • redis做缓存的网站并发数免费看各大网站的软件
  • 黄石网站建设哪家好WordPress多语言多站点
  • 网站建设一年能收入多少钱wordpress 统计字数
  • 哪个网站可以找人做清洁wordpress小说站数据库
  • 网站备案 多久怎么建立自己的销售平台
  • 跨国网站怎么做建网站挣钱吗
  • 网站建设设计规范方案深圳消防公司排行
  • 购物网站后台管理系统做网站商城需要申请商标吗
  • wordpress退出代码seo 网站案例
  • python 营销型网站建设图书馆网站建设总结
  • 网页设计软件官网模板网站长春网站建设开发维护
  • 湖南网站托管哪家好朝阳专业网站建设
  • 泸州网站制作wordpress数据分析
  • 做网站用的主机怎样在网上卖东西步骤
  • 安全证四川省建设厅官方网站企业vi怎么设计
  • 工业设计网站导航相机拍照的图片怎么做网站呀
  • 做零售外贸网站有哪些什么网站做外贸最好
  • 男女做那个的网站是什么网页设计心得体会100
  • 万州那家做网站做微商什么是官方网站
  • 网站举报在哪举报婚纱摄影网站
  • wordpress建自己的网站吗如何提高用户和网站的互动性
  • 开发一个卖东西的网站多少wordpress没有仪表盘
  • 哪里做网站做的好网站建设最重要的是什么
  • 网站初期如何推广的网站 建设平台分析报告
  • ps做淘宝网站导航栏建设网站计入什么科目
  • 合肥制作网站邯郸网站制作设计