博客
关于我
VUE-编程式路由导航
阅读量:777 次
发布时间:2019-03-24

本文共 1202 字,大约阅读时间需要 4 分钟。

编程式路由导航

编程式路由导航是通过JS代码实现路由跳转的技术,适用于单页应用的路由管理。以下是实现细节和操作方法。

路由实现

路由实现主要通过以下两种方式实现:

1. Hash方式

hash方式通过改变URL的哈希值来实现路由跳转。主要特点是:

  • 浏览器记录历史会被更新,用户可以通过浏览器返回键回溯
  • Brower会监控哈希值的变化,可以根据哈希值获取当前路由

2. State/History API

State API提供了push和replace方法,用于对管理当前和历史状态。它们的区别在于:

  • push:将新路由压入栈,不影响当前任务stack
  • replace:新路由直接替换当前记录,不回退

两者都使用栈结构来管理历史记录,这使得路由系统更具层次性。

路由器$router的实现

路由器是一个栈结构,支持push、replace和back操作。典型的代码操作如下:

示例代码:
pushShow(id) {  this.$router.push(`/home/messages/MessageDetail/${id}`);},replaceShow(id) {  this.$router.replace(`/home/messages/MessageDetail/${id}`);},

路由器采用栈的作用方式,push操作会将新路由压入栈顶,replace则完全替换当前记录。这种栈结构使得路由系统具备良好的历史记录功能,比如back按钮可以实现前一路由的返回。

路由跳转方式

路由器提供了多种方式进行跳转,具体包括:

trailed

1. this.$router.push(path)

push方法主要用于点击路由链接,相当于普通链接点击后跳转。此方法保持当前路由历史记录,可以通过back返回当前页面。

2. this.$router.replace(path)

replace方法用于替换当前的路由记录,不会保留历史信息。如果用户使用replace跳转后,再点击back,就无法回到原来的页面。

3. this.$router.back()

back方法用于回到上一个路由记录,这个方法适合栈结构的路由系统,能有效管理页面的层次NullOrEmpty

4. this.$router.go(-1)

go方法和back功能一致,用于请求前一个路由记录。这两者在实现上可能存在细微差别,但作用相同。

技术要点

在使用路由器时需要注意以下几点:

1. 组件中自带$route和$router属性,$route用于获取当前路由信息,$router用于调用路由控制方法

2. $router提供的方法可与组件生命周期结合使用,确保路由变化时组件及时刷新

3. 栈结构的路由管理需要注意数据的深层次合并,避免数据覆盖和冲突

4. 路由参数传递要规范化,统一接收和处理方式有助于路由参数的安全和稳定

转载地址:http://yprkk.baihongyu.com/

你可能感兴趣的文章
python 利用pyspark读取HDFS中CSV文件的指定列 列名重命名 并保存回HDFS
查看>>
python 利用pyttsx3文字转语音
查看>>
python 利用已有Ner模型进行数据清洗合并
查看>>
python 到大数据开发工程师_如何成为一个大数据开发工程师?
查看>>
python 加密解密(base64, AES)
查看>>
Python 包管理器和 Node.js
查看>>
Python 单词字母顺序不变且所有倒排
查看>>
python 反射机制
查看>>
python 启动提示IDLE's subprocess didn't make conne...
查看>>
python 命令接口_实现“[命令][操作][参数]”样式的命令行接口?
查看>>
Python 和 OpenCV.如何检测图像中的所有(填充)圆形/圆形对象?
查看>>
Python 和 RabbitMQ - 聆听来自多个渠道的消费事件的最佳方式?
查看>>
python编辑器打不开_关于命令ride.py打不开RF,而是打开pycharm编辑器问题解决思路...
查看>>
python编译exe同时支持32位_第三周:同时管理64位和32位版本的Python,并用Pyinstaller打包成exe...
查看>>
Python 和Java 哪个更适合做自动化测试?
查看>>
Python编程:掌握高级语言程序设计。从零基础到精通,收藏这篇就够了!
查看>>
python 图片转ico
查看>>
python 图片转文字、语音转文字、文字转语音保存音频并朗读
查看>>
python 在包含类似字符\x16、\x12、\x某某的数组中将以\x开头的字符找出来的方法
查看>>
Python 在并行进程之间共享字典
查看>>