路由的高级用法

多级路由

                1.新建一个Mian组件

<template><div> <h1>我是Msg的子组件</h1></div>
</template><script>
export default {name: "Mian",
}
</script><style>
</style>

                2.在router中msg小新建一个路由

               


import About from '../pages/About'  
import Message from '../pages/Message' 
import Mian from '../pages/Mian' 
import VueRouter from 'vue-router'//创建并暴露一个路由器
const VR =  new VueRouter({// mode:'history',node:"hash",routes:[{name:"guanyu",path:'/about',component:About,meta:{tittle:"生于小满"}},{name:"xinxi",path:'/msg',component:Message,meta:{tittle:"小满为安"},children:[{name:"zi",path:'mian',component:Mian,meta:{tittle:"演技"}, }]}]
})export default VR

                3.在Message组件中调用

<template><div class="d"> <div><h1>我是Msg的内容</h1><router-link to="/msg/mian">跳转mian</router-link> </div><!-- 展示区 --><router-view></router-view></div>
</template><script>
export default {name: "Message",
}
</script><style scoped>.d{display: flex;flex-direction: column;justify-content: space-around;}</style>

                4.重启项目

路由传参

        1.在router-link中进行传参

         <!-- 字符串 query--><!-- <router-link to="/msg/mian?id=123">跳转mian</router-link>  --><!-- 通过query进行对象传参 --><router-link:to="{path:'/msg/mian',query:{id:123}}" >跳转mian</router-link> <!-- 通过params进行对象传参 --><router-link:to="{name:'zi', params:{id:321}}" >跳转mian</router-link> 

        2.使用route对象接收

        queryid:{{$route.query.id}} <br>paramsid:  {{$route.params.id}}

props配置

        1.配置mian路由的props

            children: [{name: "zi",path: 'mian',component: Mian,meta: { tittle: "演技" },// props的第一种写法,值为对象,该对象中的所有key-value都会以props的形式传给Detail组件。// props: { a: 1, b: 'hello' },//props的第二种写法,值为布尔值,若布尔值为真,就会把该路由组件收到的所有params参数,以props的形式传给Detail组件。// props:true// props的第三种写法,值为函数props($route) {return {id: $route.query.id,a: 1,b: 'hello'}},}]

        2.在Mian组件中调用

 props:['id','a','b']
       id:{{id}}  <br>a:{{a}} <br>b:{{b}}

       

router-link 的replace属性

        浏览的历史记录有两种写入方式:分别为push(你点击进入到下一个路由的时候可以返回到上一个路由)和replace(你点击进入到下一个路由的时候,浏览器左上角不会有返回上一步),push是追加历史记录,replace是替换当前记录。路由跳转时候默认为push,通过以下方式开启replace模式

<router-link replace to='/about'>News</router-link>

编程式路由导航 

                通过$router的两个方法来实现页面的跳转,push是默认带缓存,replace是覆盖缓存

   <p @click="pbt">跳转mian router</p>
  methods:{pbt(){this.$router.push(  {name:'zi',query:{id:1,}   })
}
}

        this.$router.replace(  )   跳转页面,replace,会销毁之前的操作,不会保留

        this.$router.go()   正数向前 负数后退

        this.$router.back()   后退

        this.$router.afterEach()   向前

缓存式路由

        在销毁之前,保存之前用户输入的数据

    <!-- 展示区 --><keep-alive include="['zi']"><router-view></router-view></keep-alive>

路由独有的钩子函数

activated() {console.log("被激活了")this.timer = setTimeout(()=>{this.opacity -= 0.01if (this.opacity <= 0) this.opacity = 1},16)
},
deactivated() {consoole.log("快失活了")clearInterval(this.timer)
},

        用于关闭定时器但是需要保留数据的时候

路由守卫

        前置路由守卫,用于验证用户身份或者做别的校验,在router中定义
    VR.beforeEach((from,to,next)=>{console.log("前置路由守卫")if(to.meta.isAuth){if(localStorage.getItem("school" === 'xb')){next()}else{alert("您无权查看该信息")}}else{next()}
})
        后置路由守卫 ,可用于修改html的tittle
    VR.afterEach((from,to)=>{console.log('后置路由守卫')document.title = to.meta.tittle || '小白系统'
})
        独享路由守卫,只有在某个组件里可以使用
beforeEnter:(from,to,next)=>{}
        组件内路由

        通过路由规则,进入该组件时调用 

  beforeRouteEnter(to, from, next){}

         通过路由规则,离开该组件时候调用 

    beforeRouteLeave (to, from, next) {}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/39428.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Canvas合集更更更之实现由画布中心向外随机不断发散的粒子效果

实现效果 1.支持颜色设置 2.支持粒子数量设置 3.支持粒子大小设置 写在最后&#x1f352; 源码&#xff0c;关注&#x1f365;苏苏的bug&#xff0c;&#x1f361;苏苏的github&#xff0c;&#x1f36a;苏苏的码云

实验九 存储过程和触发器

题目 创建并执行一个无参数的存储过程proc_product1&#xff0c;通过该存储过程可以查询商品类别名称为“笔记本电脑”的商品的详细信息&#xff1a;包括商品编号、商品名称、品牌、库存量、单价和上架时间信息 2、创建并执行一个带输入参数的存储过程proc_product2&#xff…

【软件测试】Postman接口测试基本操作

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;薪资嘎嘎涨 Postman-获取验证码 需求&#xff1a;使用Postman访问验证码接口&#xff0c;并查看响应结果…

图书管理系统(持久化存储数据以及增添新功能)

目录 一、数据库表设计 二、引入MyBatis 和MySQL 驱动依赖 三、配置数据库 & 日志 四、Model创建 五、枚举类 常量类用户登录 六、用户登录 七、添加图书 八、图书列表 九、修改图书 十、删除图书 十一、批量删除 十二、强制登录 十三、前端代码 &#xff0…

AI与测试相辅相成

AI助力软件测试 1.AI赋能软件测试 使用AI工具来帮助测试人员提高测试效率&#xff0c;提供缺陷分析和缺陷预测。 语法格式 设定角色 具体指示 上下文格式 例: 角色&#xff1a;你是一个测试人员 内容&#xff1a;请帮我生成登录案例的测试用例 ​ 1.只有输入正确账号和密码才…

生命在于学习——Python人工智能原理(3.2.1)

二、随机变量 2.1 随机变量及其分布 &#xff08;一&#xff09;基本概念 定义1 随机变量 随机变量表示随机试验各种结果的实值单值函数&#xff0c;即能用数学分析方法来研究随机现象&#xff0c;例如某一时间内公共汽车站等车的乘客人数、淘宝在一定时间内的交易次数等&am…

Shenandoah GC概述

文章目录 1_介绍2_原理1.0版本2.0版本3_ShenandoahGC的执行流程4_并发转移阶段 – 并发问题 1_介绍 Shenandoah 是由Red Hat开发的一款低延迟的垃圾收集器&#xff0c;Shenandoah 并发执行大部分 GC 工作&#xff0c;包括并发的整理&#xff0c;堆大小对STW的时间基本没有影响…

【pearcmd】通过pearcmd.php 进行GetShell

https://cloud.tencent.com/developer/article/2204400 关于PHP 配置 register_argc_argv 小结 的一些研究文章。 应用例题 [NewStarCTF 2023 公开赛道]Include &#x1f350; <?phperror_reporting(0);if(isset($_GET[file])) {$file $_GET[file];if(preg_match(/flag|l…

贪心 | Java | LeetCode 455, 376, 53 做题总结

贪心算法介绍 贪心算法&#xff1a;贪心的本质是选择每一阶段的局部最优&#xff0c;从而达到全局最优。 说实话贪心算法并没有固定的套路。 一般解题步骤 贪心算法一般分为如下四步&#xff1a; ① 将问题分解为若干个子问题 ② 找出适合的贪心策略 ③ 求解每一个子问题的…

SQL Server数据库的组成

《SQL Server 2022从入门到精通&#xff08;视频教学超值版&#xff09;》图书介绍-CSDN博客 对于数据库的概念&#xff0c;没有一个完全固定的定义&#xff0c;随着数据库历史的发展&#xff0c;定义的内容也有很大的差异&#xff0c;其中一种比较普遍的观点认为&#xff0c;…

Winform中使用HttpClient实现调用http的post接口并设置传参content-type为application/json示例

场景 Winform中怎样使用HttpClient调用http的get和post接口并将接口返回json数据解析为实体类&#xff1a; Winform中怎样使用HttpClient调用http的get和post接口并将接口返回json数据解析为实体类_winform解析json-CSDN博客 上面使用HttpClient调用post接口时使用的HttpCon…

21.《C语言》——【位操作符】

&#x1f33b;开场语 亲爱的读者&#xff0c;大家好&#xff01;我是一名正在学习编程的高校生。在这个博客里&#xff0c;我将和大家一起探讨编程技巧、分享实用工具&#xff0c;并交流学习心得。希望通过我的博客&#xff0c;你能学到有用的知识&#xff0c;提高自己的技能&a…

今天不看文章,明天变垃圾(明天收费)-----字节数据分析发展过程中所遭遇的挑战

字节数据分析发展过程中所遭遇的挑战 三个核心议题&#xff1a; 海量数据分析性能&#xff1a;会议指出Spark分析性能不足成为了一个显著问题&#xff0c;尤其是在需要毫秒级响应的业务场景中。实时导入与查询能力&#xff1a;目前Kylin只能以T1的形式提供分析服务&#xff0…

蓝牙资讯|苹果Apple Pencil新专利:用笔套扩展传感器 / 续航等模块化方案

根据美国商标和专利局最新公示的清单&#xff0c;苹果公司获得了一项 Apple Pencil 的专利&#xff0c;探索了模块化设计方案&#xff0c;用户未来可以根据自身需求或者使用场景&#xff0c;随心更换 Pencil 的模块&#xff0c;达到不同的效果。 苹果在专利中表示笔套内置传感器…

图书电商引入实在Agent:自动化运营提效80%,节省人天1000+

某知名教辅图书品牌深耕中小学教辅图书领域&#xff0c;是中国最具影响力的教育出版策划与发行集团之一&#xff0c;以丰富的图书品类&#xff0c;满足了小学、初中、高中各年龄段读者多元化的阅读需求。 2023年&#xff0c;该品牌在运营、客服等多部门超60个场景中部署实在Ag…

2024高考作文题“人工智能”

今年开年到现在&#xff0c;明显的感受就是&#xff0c;咨询人工智能机器人的客户比往年更多了。什么原因&#xff0c;是因为人工成本太高了&#xff0c;今年整体经济环境变差&#xff0c;招不起人&#xff0c;所以想用AI机器人来降低用工成本吗&#xff1f; 还是说因为语音线路…

项目进度管理(信息系统项目管理师)

定义活动的输出&#xff1a;活动清单、活动属性、里程碑清单定义活动的输入包括进度管理计划、范围基准、事业环境因素、组织过程资产定义活动的工具与技术包括专家判断、分解、滚动式规划、会议分解是一种把项目范围和项目可交付成果逐步划分为更小、更便于管理的组成部分的技…

银湖资本在中国设立公司运营点,全球投资巨头的新篇章!

近日&#xff0c;全球知名私募股权投资公司银湖资本宣布在中国设立公司运营点。一点是银湖资本在国内安置了两个办事营业点&#xff0c;一个在黑龙江&#xff0c;一个在广州等一线城市。这一举动标志着银湖资本在全球范围内的扩展进入了新的阶段&#xff0c;同时也展示了其对中…

SerialportToTcp①

窗体 效果&#xff1a;串口和网口旁边的是panel当客户端或者服务器发送消息的时候会闪烁&#xff0c;下面的的textbox当接收到接受或者发送的数据会增加数量&#xff0c;心跳机制单选框可以开关&#xff0c;可设置心跳间隔和内容&#xff0c;重置按钮重置串口数据&#xff0c;…

PDM系统中物料分类与编码规则生成方案

在企业管理软件中&#xff0c;PDM系统是企业管理的前端软件&#xff0c;用于管理研发图纸、BOM等数据&#xff0c;然后生成相关物料表或BOM&#xff0c;递交给后端ERP系统进行生产管理。在PDM系统中&#xff0c;有两种方式可以生成物料编码。 1第一种是用户可以通过软件接口将…