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

wordpress文章站深圳住建局官网

wordpress文章站,深圳住建局官网,网站优化 价格查询,湖州市网站建设在Vue 3中,导航守卫仍然是一个重要的概念,用于在路由切换时执行一些特定的逻辑。Vue Router提供了多个导航守卫,包括全局守卫、路由独享守卫和组件内守卫。可以在路由切换时执行一些特定的逻辑,例如身份验证、权限控制、数据加载等…

在Vue 3中,导航守卫仍然是一个重要的概念,用于在路由切换时执行一些特定的逻辑。Vue Router提供了多个导航守卫,包括全局守卫、路由独享守卫和组件内守卫。可以在路由切换时执行一些特定的逻辑,例如身份验证、权限控制、数据加载等帮助你更好地控制整个应用程序的导航流程。

文章目录

  • 一、全局前置守卫
  • 二、路由独享守卫
  • 三、全局后置守卫
  • 四、组件内守卫
  • 五、案例

一、全局前置守卫

全局前置守卫会在路由切换之前被调用,并且在所有路由切换中都会被触发

router.beforeEach((to, from, next) => {// 在这里执行你的逻辑// 通过调用next()来继续路由切换,或者调用next(false)取消路由切换
})

二、路由独享守卫

你也可以为特定的路由定义守卫

const routes = [{path: '/example',component: ExampleComponent,beforeEnter: (to, from, next) => {// 在这里执行你的逻辑// 通过调用next()来继续路由切换,或者调用next(false)取消路由切换}}
]

三、全局后置守卫

全局后置守卫会在路由切换之后被调用,并且在所有路由切换中都会被触发

router.afterEach((to, from) => {// 在这里执行你的逻辑
})

四、组件内守卫

组件内守卫是针对特定组件的守卫,组件内守卫有3个

注意:beforeRouteEnter在setup语法糖中是无法使用的,需要再起一个script标签 使用defineComponent方式来使用

<script lang="ts">
import { defineComponent } from 'vue';
export default defineComponent({beforeRouteEnter(to, from, next) {// 在这里执行你的逻辑// 通过调用next()来继续路由切换,或者调用next(false)取消路由切换},beforeRouteUpdate(to, from, next) {// 在这里执行你的逻辑// 通过调用next()来继续路由切换,或者调用next(false)取消路由切换},beforeRouteLeave(to, from, next) {// 在这里执行你的逻辑// 通过调用next()来继续路由切换,或者调用next(false)取消路由切换}
});
</script><script setup lang="ts">
import { ref, reactive, computed, onMounted } from 'vue';
</script>

五、案例

下面是一个简单的案例,当我们线上考试时,若通过更改浏览器网址到其他地方而没有到交卷页则提醒你正在考试,是否放弃考试。这个时候我们就可以使用组件内守卫来进行逻辑处理。当然,下面的案例只是提供一个简单的组件内守卫适用场景,代码比较粗糙,具体还需要根据项目情况来处理。

<script setup lang="ts">
import { useRoute,useRouter } from "vue-router";
const router = useRouter();const back = async()=>{try {await this.$confirm("你正在考试,是否放弃考试", "确认信息", {distinguishCancelAndClose: true,confirmButtonText: "确定",});try {// await this.toTestResult(true)} catch (e) {router.push({ name: "Home" });}} catch (e) {return false;}}
</script><script lang="ts">
import { defineComponent } from "vue";
export default defineComponent({beforeRouteEnter(to, from, next) {//没有跳到交卷页面提醒if (to.path != "result") {back();} else {next();}},beforeRouteUpdate(to, from, next) {// 在这里执行你的逻辑// 通过调用next()来继续路由切换,或者调用next(false)取消路由切换},beforeRouteLeave(to, from, next) {// 在这里执行你的逻辑// 通过调用next()来继续路由切换,或者调用next(false)取消路由切换},});
</script>
http://www.yayakq.cn/news/574417/

相关文章:

  • 网站优化员seo招聘站库设计网站官网
  • 使用编辑字母做免费网站seo 优化公司
  • 网站开发技术试验教程深圳网站维护公司
  • 摄影网站网址大全昆明做网站优化价格
  • 口碑好的丹徒网站建设天河建设网站外包
  • 网站设计成功案例学平面设计要多少钱
  • 个人网站备案icp263企业邮箱入口登录方法
  • 珠海企业网站设计廊坊百度网站排名
  • seo同行网站企业邮箱账号是什么
  • 台州做网站seo的旅游网站建设1000字
  • 浙江东阳市网站建设公司泸州做网站的公司
  • 织梦网站挂马教程昆明做网站建设方案
  • 情趣官方网站怎么做代理wordpress侧边栏加入广告
  • wordpress正文页面外贸seo业务员招聘
  • asp网站开发移动端广西建设网电子证件查询
  • 网站建设都有什么功能怎么找客户资源
  • 做啥网站赚钱?做电销用什么软件打电话
  • 北京便宜的网站建设百度云 wordpress 教程视频
  • 镇海区住房建设网站怎么查wordpress注册页面主题
  • 网站分析与优化泰州seo网络公司
  • 在线设计图片网站总结做网页公司有哪些
  • 网站开发专业术语大全网页建设多少钱
  • h5混搭php建设网站抖音小程序开发教程
  • 建设购物网站做推广哪家网站好
  • 创建网站赚钱html网页模板资源
  • 建设一个跟京东一样的网站网站建设项目申报书
  • 个人网站备案可以做项目网站手机百度网盘网页版登录入口
  • 丽水专业网站建设哪家好天津做网站美工
  • 作品网站松滋网络推广
  • 兰州网站建设和维护工作wordpress读者墙