最新要闻
- 男子当着7岁女孩面刺56刀杀死前女友:已执行死刑,一审时曾被判死缓
- 当前讯息:七彩虹五大RTX 4070开卖:水神/火神5699元!神秘新卡加量不加价
- 号称“不泄密” 微信键盘Windows版上线:不支持Win7
- 4799元的RTX 4070显卡上市 厂商不急于增产:库存还没完 不想降价
- 碎片化一地鸡毛!安卓14推送:安卓13用户量仍少的可怜
- 全球动态:微信功能异常大量用户中招!工信部指导腾讯:重要业务安全稳定
- 世界观速讯丨美原油交易策略:油价受阻于200日均线,关注IEA月报
- AITO问界M5智驾版将亮相上海国际车展 余承东:双天花板级体验
- 世界看热讯:中国药卖给美国人有多难
- 12元在家看国产科幻大片!《流浪地球2》全网上线:爱优腾会员不免费
- 当前通讯!7年了!AMD CUDA杀手ROCm终于登陆Windows、支持游戏显卡
- 俄罗斯发力自主OS系统 无奈碎片化:Linux就有19种
- 无极县政府网 无极县政府
- 速读:全国性能最强!腾讯发布高性能算力集群:专为AI大模型训练准备
- 10碟充氦!希捷首款22TB机械硬盘发布:价格给力
- 水花消失术再现!全红婵、陈芋汐夺得2023跳水世界杯首金
广告
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
Vue之 vue-router
【资料图】
目录- 简介
- 安装vue-router
- 使用vue-router
- router的方法
- 路由跳转
- 方法一 使用js控制
- 方法二 使用标签控制
- 路由跳转携带参数
- 方法一 使用问号携带
- 方法二 使用斜杠分隔符携带
- 方法三 使用对象的方式跳转
- 方法四 标签方式跳转携带参数
- router与route的区别
- 多级路由
- 路由守卫
- 全局路由守卫
- 前置路由守卫配置
- 后置路由守卫配置
- 独享守卫
- 组件内守卫
- 全局路由守卫
简介
vue-router是Vue.js官方的路由插件,它和vue.js是深度集成的,适合用于构建单页面应用。vue-router是基于路由和组件的,路由用户设定访问路径的,将路径和组件映射起来。在vue-router的单页面应用中,页面的路径的改变就是组件的切换。官网地址:https://router.vuejs.org/zh/
安装vue-router
# 可以在创建项目时就直接安装好vue-router# 也可以单独安装,使用下面的命令npm install vue-router# 第二步:在main.js中引入import router from "./router"new Vue({ router, # 添加这一行 store, render: h => h(App)}).$mount("#app")
使用vue-router
配置路由的跳转,只需要在src/router/index.js目录下导入组件之后,再
import IndexView from "@/views/IndexView"; // 创建好组件之后,导入组件const routes = [ { path: "/index/", // 浏览器的路由 name: "index", // 别名 component: IndexView // 对应的是哪个组件 },]
router的方法
this.$router.push(path) // 相当于点击路由链接(可以返回到当前路由界面)this.$router.replace(path) // 用新路由替换当前路由(不可以返回到当前路由界面)this.$router.back() // 请求(返回)上一个记录路由this.$router.go(-1) // 请求(返回)上一个记录路由this.$router.go(1) // 请求下一个记录路由this.$router.forward() // 前进
路由跳转
方法一 使用js控制
- 使用给按钮绑定事件的方式进行跳转
<script>export default { name: "HomeView", methods:{ goToLogin(){ this.$router.push("/Index") // 这样点击上面的按钮后就会跳转到index页面了 } }}</script>
方法二 使用标签控制
- 使用标签的方法进行跳转
xxx
路由跳转携带参数
方法一 使用问号携带
或
- 通过打印console.log(this.$route)发现,数据在query中
- 所以如果要取数据,可以直接使用query对象取
<script>export default { name: "IndexView", created() { console.log("route:", this.$route.query.pk) }}</script>
方法二 使用斜杠分隔符携带
- 第一步 配置router目录下index.js
{ path: "/index/:pk", // 这里配置什么参数,前台传入的值对应的Key就是什么 name: "index", component: IndexView},
- 第二步 配置跳转功能
- 第三步取值根据console.log(this.$route)可以看到,值在params中
console.log(this.$route.params.pk) // 这样就可以取到值了
方法三 使用对象的方式跳转
- 可以直接在push方法中携带参数
<script>export default { name: "HomeView", methods:{ clickFunc(){ this.$router.push({ name: "index", // 这里的name就是router/index.js中路由配置的name别名,这个路由不需要作变化 query:{ // 可以将内容放到query中 name: "jack", age: "18" }, params:{ // 可以将内容放到params中,这样路由中需要配置为path: "/index/:pk" pk: "16", } }) } }}</script>
可以看到,使用问题携带参数的截图
可以看到,使用斜杠分隔携带参数的截图
方法四 标签方式跳转携带参数
{path: "/index/:pk", // 这里配置了:pk name: "index", component: IndexView},
<script>export default { name: "HomeView", data() { return { obj: { name: "index", query: {id: "99"}, params: {pk: "100"} } } }}</script>
- 返回结果如下显示
router与route的区别
route # 当前页面的对象,也可以说是当前路由对象router # new VueRouter对象,也是就是vue-router的实例
- 我们可以使用console.log查看一下这两个对象分别是什么
- 可以看到route对应的就是当前页面的一些信息
- router中对应的就是vue-router实例
多级路由
routes:[ { path: "/about", component: About, }, { path: "/home", component: Home, children: [ //通过children配置子级路由 { path: "news", //此处一定不要写:/news 注意这个斜杠 component: News }, { path: "message",//此处一定不要写:/message 注意这个斜杠 component: Message } ] }]// 跳转< router - linkto = "/home/news" > News < /router-link>
{ path: "/demo", component: Demo, children: [ { path: "test", component: Test, children: [ { name: "hello" // 给路由定义别名 path: "welcome", component: Hello, } ] } ] }
跳转 跳转 跳转
路由守卫
对路由进行权限控制,按分类分为:全局守卫(最常用),独享守卫,组件内守卫
全局路由守卫
- 前置路由守卫:在进路由前,执行代码。
- 后置路由守卫:路由跳转走,执行代码。
前置路由守卫配置
- 只需要在router/index.js文件中新增一个函数即可
router.beforeEach( (to, from, next) => { console.log(to, from, next) // to 代表要去的路由 // from 代表从哪个路由跳转过来 // next 是一个函数,需要加括号执行,没有next则不会跳转到要去的路由 // 下面写一个简单的路由守卫功能 if (to.name == "index"){ console.log("成功访问index界面") next() // 这里不加next()是不会跳转的 }else{ alert("您不允许访问这个页面") } })
访问index页面可以访问
访问home页面无法访问,先是弹窗,之后因为没有next()所以也不会跳转到home路由中
后置路由守卫配置
- 与前置不同的只是函数名不同,用得很少
router.afterEach((to, from)=> {函数内容})
独享守卫
// 该文件专门用于创建整个应用的路由器import VueRouter from "vue-router"//引入组件import About from "../pages/About"import Home from "../pages/Home"import News from "../pages/News"import Message from "../pages/Message"import Detail from "../pages/Detail"//创建并暴露一个路由器const router = new VueRouter({ routes:[ { name:"guanyu", path:"/about", component:About, meta:{title:"关于"} }, { name:"zhuye", path:"/home", component:Home, meta:{title:"主页"}, children:[ { name:"xinwen", path:"news", component:News, meta:{isAuth:true,title:"新闻"}, beforeEnter: (to, from, next) => { console.log("独享路由守卫",to,from) if(to.meta.isAuth){ //判断是否需要鉴权 if(localStorage.getItem("name")==="lqz"){ next() }else{ alert("名不对,无权限查看!") } }else{ next() } } }, { name:"xiaoxi", path:"message", component:Message, meta:{isAuth:true,title:"消息"}, children:[ { name:"xiangqing", path:"detail", component:Detail, meta:{isAuth:true,title:"详情"}, } ] } ] } ]})export default router
组件内守卫
//进入守卫:通过路由规则,进入该组件时被调用beforeRouteEnter (to, from, next) {},//离开守卫:通过路由规则,离开该组件时被调用beforeRouteLeave (to, from, next) {}//通过路由规则,进入该组件时被调用 beforeRouteEnter (to, from, next) { console.log("About--beforeRouteEnter",to,from) if(to.meta.isAuth){ //判断是否需要鉴权 if(localStorage.getItem("school")==="atguigu"){ next() }else{ alert("学校名不对,无权限查看!") } }else{ next() } }, //通过路由规则,离开该组件时被调用 beforeRouteLeave (to, from, next) { console.log("About--beforeRouteLeave",to,from) next() }
关键词:
观焦点:使用appuploader工具发布证书和描述性文件教程
Vue之 vue-router
记录-Vue.js模板编译过程揭秘:从模板字符串到渲染函数
男子当着7岁女孩面刺56刀杀死前女友:已执行死刑,一审时曾被判死缓
当前讯息:七彩虹五大RTX 4070开卖:水神/火神5699元!神秘新卡加量不加价
号称“不泄密” 微信键盘Windows版上线:不支持Win7
4799元的RTX 4070显卡上市 厂商不急于增产:库存还没完 不想降价
碎片化一地鸡毛!安卓14推送:安卓13用户量仍少的可怜
全球动态:微信功能异常大量用户中招!工信部指导腾讯:重要业务安全稳定
axiom——一款基于云的分布式网络安全扫描工具框架
低代码起势,程序员闷头开发的日子结束了
世界观速讯丨美原油交易策略:油价受阻于200日均线,关注IEA月报
焦点速看:恒生指数14日收涨0.46% 有色金属行业领涨
AITO问界M5智驾版将亮相上海国际车展 余承东:双天花板级体验
世界看热讯:中国药卖给美国人有多难
12元在家看国产科幻大片!《流浪地球2》全网上线:爱优腾会员不免费
当前通讯!7年了!AMD CUDA杀手ROCm终于登陆Windows、支持游戏显卡
俄罗斯发力自主OS系统 无奈碎片化:Linux就有19种
无极县政府网 无极县政府
实时焦点:用 Go 剑指 Offer 31. 栈的压入、弹出序列 (辅助栈)
企业内部培训网站为例,探索云上成本优化
世界新资讯:【财经分析】房企融资边际回暖 结构分化背景下择券仍需审慎
当前通讯!收评:沪指涨0.32%创年内收盘新高 半导体行业掀涨停潮
速读:全国性能最强!腾讯发布高性能算力集群:专为AI大模型训练准备
10碟充氦!希捷首款22TB机械硬盘发布:价格给力
水花消失术再现!全红婵、陈芋汐夺得2023跳水世界杯首金
天天消息!仅重126g!阿里云推出无影云电脑“魔方AS05”:7个全尺寸接口
每日视讯:2450CVIA刷新亮度天花板!当贝X5旗舰投影仪图赏
武磊谈补发2021中国金球奖:荣誉将激励我为中国足球做更多贡献
天天新动态:Huffman实现
即时:《安富莱嵌入式周报》第309期:开源脑机接口套件,三相多电平逆变器,开源电位仪,单片机并行计算,蓝牙市场分析报告,AI密码破解,nRF54H2发布,Z-W
全球微动态丨python 之 session鉴权的处理
【世界播资讯】git中 commit 和 pull 的先后顺序问题会产生多余的merge记录
全球微资讯!#POWERBI 度量值动态格式字符串,利用动态格式,实现百分数智能缩位(powerbi4月重磅更新功能)
高亮度+顶级芯 旗舰更进一步!当贝X5激光投影仪评测:2450CVIA带来震撼视觉体验
焦点速递!免费、不用注册、支持中文!ChatGPT最强竞品爆火:一手实测体验在此
快报:国产FPS《边境》发布之路坎坷:服务器出现紧急BUG
五一火车票明日开售:五一假期连休5天
世界新动态:徕卡味儿十足!小米13 Ultra摄影套装亮相:手机秒变相机
山东省高级人民法院电话簿(山东省高级人民法院电话)
当前报道:全面解析反欺诈(羊毛盾)API,助你识别各类欺诈风险
天天实时:T-SQL基础教程Day2
世界热文:DXO拍照得分全球第一!OPPO Find X6 Pro卖疯 销量同比增长129%
世界快资讯丨失业大军涌入外卖 骑手收入腰斩:拼了一天赚400 却被罚1000
上亿广场里排队20分钟等餐?为了这一幕,新市府已经等了三年
.NET7使用HttpClient实现查询天气预报接口
天天亮点!大二男生靠打工奖学金穷游37城:没问家里要过1分钱
焦点热门:准备好钱包 比亚迪百万豪车仰望U8四天后开售:超跑U9一同亮相
Redmi Note 12 Turbo首销过后还在狂卖!卢伟冰都没想到
变化极大的iOS 17要来了!苹果内测iOS 16.6系统:或为绝唱更新
今年五一档杀疯了 16部国产大片扎堆:好莱坞大片中国市场遇冷 不符合国人审美
世界看热讯:签约!年产45万吨,林州林钢将建亚洲单体最大铸管生产车间
世界时讯:SpringBoot 如何保证接口安全?老鸟们都是这么玩的
全面数字化时代,国有大型银行如何走好金融创新之路?
速讯:PHP 备忘清单_开发速查表分享
今日热议:如何快速开发软件?这篇文章说明白了
世界微速讯:2023年百大影响力人物:马斯克、TikTok周受资等入榜
公司回应员工未及时回复收到被辞退:顶撞领导 不服从管理
【全球时快讯】量旋科技进军超导量子计算!三大新品、软硬件全流程搞定
世界最资讯丨3年前老机型没被抛弃!一加8系列官宣适配ColorOS 13.1
男子机动车道上骑鸵鸟还拍视频炫耀:系养殖基地训练师、已被处理
世界百事通!16岁女孩骑摩托载21岁女伴不幸遇难,生前网友曾劝“危险”被怼
ntuser是什么文件?ntuser文件可以删除吗?
宏基笔记本电脑风扇设置在哪里?宏基笔记本电脑风扇声音大怎么解决?
摩托罗拉xt685什么时候上市的?摩托罗拉xt685手机参数
显卡金手指是什么?显卡金手指磨损有影响吗?
266.58显卡驱动没法识别硬件是怎么回事?266.58显卡驱动没法识别硬件怎么解决?
全球快报:更安全、更低耗的微服务架构改造之道
PDCA循环模型——如何用同样的时间做更多的事?【No.1 】
聚焦:山西焦化:公司2023年第一季度报告预约披露时间为2023年4月25日
世界关注:荣耀推“三叉戟” 赵明:笔记本过去30年没啥变化 需要跃迁
【全球新要闻】比理想L8 Air便宜3万多 魏牌蓝山四驱版值得买吗?一文看懂
240Hz高刷屏+RTX40显卡!微星星影15游戏图赏
【独家焦点】今年五一档“杀疯了” 至少16部影片扎堆上映:《长空之王》最受期待
黑白相机卖到71000元!徕卡M11 Monochrom正式发布
Espanso文本拓展软件使用体验
当前时讯:简单的了解下 Fetch API 的工作原理
详解 APISIX Lua 动态调试插件 inspect
四舍五入 - 逼疯全世界的开发者
全球热议:NTP网络校时服务器(北斗GPS校时器)在地铁内网系统中的应用
【新视野】半导体设备板块快速走高,金海通涨停
年内公募新基金发行突破2800亿元 债券型基金占比超六成
《Redfall》引发粉丝强烈不满
环球焦点!《名侦探柯南》新剧场版上映 柯哀亲了登顶热搜!新兰CP党表示要弃剧
上海车展全球首发 比亚迪B级纯电SUV官宣:命名“宋L”
焦点快看:女子团购住民宿 结果住到自己家的房子 网友:王思聪有这体验
【全球快播报】荣耀Magic5成旗舰标杆!赵明:从来没有友商敢挑战它的续航、屏幕
环球速看:中标 | 含塔筒3200-3438元/kW!海装、金风、电气风电预中标山东能源渤中海上风电项目
Spring Boot 接口加解密,新姿势来了!
全球微头条丨苹果iPhone 15 Pro机型再曝光:依然实体音量键 静音拨片改为Action按钮
苹果和安卓折腾了5年 愣是干不过微信小程序
抢先看!迪士尼更新真人版《小美人鱼》预告:黑小美人鱼海下展唯美瞬间
世界看热讯:标致408保价期内降价遭集体投诉 车主:4S店称地方补贴不算降价
【全球聚看点】现场办公面对面听意见解难题 西固区定制化服务助企纾困
天天微动态丨【读财报】消费主题基金年报透视:2022年净值普跌 全年共亏逾280亿
每日热门:清华、北大在校生五一淄博免费游”?官方回应:消息属实
快讯:巴奴“天价土豆”换名后重新上架:多地售价18元一份 北京上海22元
云南16岁女孩载21岁女孩无证驾驶摩托车身亡 生前网友曾劝危险
天天观热点:张朝阳建议年轻人多做饭、早上6点就起:外卖都是垃圾!王石唱反调
全球微头条丨问界M5系列华为高阶智驾版来了:不惧鬼探头 实现泊车“自由”