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

北京网站建设排名电商网站建设与管理

北京网站建设排名,电商网站建设与管理,公司注册类型,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/322014/

相关文章:

  • 付费链接生成软件seo快速排名软件
  • 四川平台网站建设设计做视频网站用什么格式好
  • 网站开发的过程中遇到的难题如何防止网站挂黑链
  • 红河网站建设seo关键词排名怎么提升
  • 陈家镇建设发展公司网站网站建设调查报告范文
  • 小说网站怎么做原创营销网站一般包括哪些内容
  • 网站建设述职报告wordpress如何添加注册登录界面
  • 网站设计与实现作业wordpress相册列表
  • 青县做网站价格小程序游戏制作
  • 网站 推广discuz网站同步
  • 中国有多少网站有多少域名禅城区网站建站网站
  • 做网站文案用哪个软件手机在线代理网页
  • 网站之间如何做视频交换设计制作费的税收编码
  • 过界女主个人做网站的邯郸移动网站制作
  • 上海最专业的网站设计制做公司网站的步骤
  • 重庆天蚕网络科技有限公司广州网站优化方式
  • 亚马逊做国际外贸在哪个网站如何建立手机论坛
  • 安庆网站建设推荐安徽秒搜科技2024最新版qq官方下载
  • 运城网站建设兼职域名查询网中国万网
  • 深圳网站设计公司哪家工艺好济南网站设计价格
  • 诊所网站建设建设网站答辩情况
  • 邢台哪儿做网站便宜seo人人网
  • 哪个网站 的域名最便宜百度app安装
  • 网站详细设计wordpress小机巧
  • 网站排名掉了怎么办仿制别人的竞价网站做竞价犯法吗
  • wordpress知更鸟主题网站seo课程
  • 代理网址网站自建站怎么推广
  • 边个网站可以接模具做zepto网站开发
  • 零基础学网站建设 知乎网站移动适配
  • 建站工具megento杭州品牌网站开发