位置: 编程技术 - 正文

vue-router路由与页面间导航实例解析(请简述vue-router路由的作用)

编辑:rootadmin

推荐整理分享vue-router路由与页面间导航实例解析(请简述vue-router路由的作用),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue路由routerview,vue router路由配置,vue router 路由参数,vue router路由配置,vue路由的区别,vue路由routerview,vue router路由配置,vue路由的区别,内容如对您有帮助,希望把文章链接给更多的朋友!

vue-router是Vue.js官方的路由插件,它和vue.js是深度集成的,适合用于构建单页面应用。vue的单页面应用是基于路由和组件的,路由用于设定访问路径,并将路径和组件映射起来。传统的页面应用,是用一些超链接来实现页面切换和跳转的。在vue-router单页面应用中,则是路径之间的切换,也就是组件的切换。

vue-router

我们知道路由定义了一系列访问的地址规则,路由引擎根据这些规则匹配找到对应的处理页面,然后将请求转发给页进行处理。可以说所有的后端开发都是这样做的,而前端路由是不存在"请求"一说的。

前端路由是找到地址匹配的一个组件或者对象将其渲染出来。改变浏览器地址不向服务器发送请求有两种方法,

一是在地址中加入#以欺骗浏览器,地址的改变是由于正在进行页内导航;二是使用HTML5的window.history功能,使用URL的hash来模拟一个完整的URL。

vue-router是官方提供的一套专用的路由工具库,是vue的一个插件,我们需要在全局引用中通过vue.use()将它引入到vue实例中,

使用vue-cli创建项目后(init初始化时vue-router确认y)

我们先来看一下项目src的结构,通过cmd进入到项目src目录下,执行 tree -f > list.txt 生成结构树(保存在list.txt中):

结构如下:

1、打开main.js:

第行将配置的路由绑定到vue实例上,第行在vue实例中使用render方法来绘制这个vue组件(App)完成初始化

Render是vue2新增的具有特色的方法,为了得到更好的运行速度,vue2也采用的类似react的Virtual Dom(虚拟Dom)

2、然后我们在components中注册几个组件

3、打开router/index.js配置路由

路由的模式

关键词:"mode","history模式","hash模式","Abstract模式"

我们可以在创建的Router中使用模式,如参数mode:history的参数,这个值意思是使用history模式,这种模式充分利用了history.pushState API来完成URL的跳转而无需重新加载页面 ,

如果不使用history模式,当访问rank的时候路由就会变成:

Hash:使用URL hash值作为路由, History:依赖HTML5 History API和服务器配置 Abstract:支持所有JavaScript运行环境,如node服务器端。如果发现没有浏览器的API,路由就会强制进入这个模式

路由与导航

关键词:"router-link" , "router-view"

vue-router提供两个指令标签组件来处理这个导航与自动渲染逻辑:

<router-view>——渲染路径匹配到的组件视图, <router-link>——支持用户在具有路由功能的应用中导航

我们使用整两个标签组件来完成一个简单的页面布局:

vue-router路由与页面间导航实例解析(请简述vue-router路由的作用)

在路由使用时要明确一个原则就是:不直接引用路由定义,(即不要在router-link直接通过 to='conpontents/rank/rank' 来导向路由),当显式引用路由定义的URL一旦发生变化,所有引用的地方都要修改。

在router-link通过名称引用路由:向to属性传入一个对象显式的声明路由的名称:

<router-link :to="{ name:'rank' }">

这里留意使用v-bind绑定(简写:),因为这里需要向router-link传递的是一个对象{ name:'rank' }而不是一个字符串

动态路由

关键词:"动态路由参数","params","$router.params"

vue-router将参数融入到路由的路径定义之内成为路由的一部分,我们称这种参数为"动态路径参数";

使用非常简单,在参数名之前加上":",然后将参数写在路由定义的path内,

1、这样定义之后,vue-router就会自动匹配/books/1、/books/2、...、/books/n 形式的路由模式,因为这样定义的路由的数量是不确定的,所以也称为"动态路由"。

2、在<router-link>中我们就可以加入一个params的属性来指定具体的参数值:

3、当我们导航进入图书详情页之后,我们可能需要获取属性指定的参数值(即重新将:id参数读取出来),我们可以通过$router.params来完成:

嵌套式路由

关键词:"children",

我们利用下面的场景,首页/home/读书详情 页面,读书详情也我们不需要底部的导航区域,但是我们使用之前的路由定义,所有的页面都应该具有想用的底部导航条,按前面的路由结构是不可以导航到图书详情页的,如下:

所以我们就需要另一种定义路由的方式,对前面的路由进行调整,

嵌套式路由又叫做子路由,要将路由显示到子视图中就要相应的子路由与之对应,我们只需要在路由定义中使用children数组属性就可以定义子路由了:

需要注意的是以"/"开头的嵌套路径会被当做根路径,所以不要在子路由上加上"/";

重定向路由与别名

关键词:"redirect","alias"

重定向也是通过 routes 配置来完成,下面例子是从 /a 重定向到 /b:

另外我们需要区别重定向和别名,『重定向』的意思是,当用户访问 /a时,URL 将会被替换成 /b,然后匹配路由为 /b,那么『别名』又是什么呢?

/a 的别名是 /b,意味着,当用户访问 /b 时,URL 会保持为 /b,但是路由匹配则为 /a,就像用户访问 /a 一样:

利用alias给路由设置别名

总结

到这里vue路由的基础我们已经总结完毕,我们需要在实战中不断练习,多多的去解决问题,方能更好的使用路由 帮我们完成任务,同时为vue进阶的路由知识打基础

vue实现仿淘宝结账页面实例代码 虽然Vue最强大的是组件化开发,但是其实多页面开发也蛮适合的。下面小编给大家分享vue实现仿淘宝结账页面实例代码,具体内容大家参考下本文。这

AngularJs 终极购物车(实例讲解) 废话不多说,直接上代码:!DOCTYPEhtmlhtmllang="en"headmetacharset="UTF-8"title购物车/titlescriptsrc="angularjs/angular.js"/scriptstyle.box{width:%;border-bottom:1pxsolidsilver;}.box1{

浅谈vue-router2路由参数注意的问题 1、vue路由如果传递params定义路由的时候是/路由名称:id获取的时候this.$route.params.id最后形如/路由名称/路由参数传参的时候params:{str1:str1,str2:str2}2、如果

标签: 请简述vue-router路由的作用

本文链接地址:https://www.jiuchutong.com/biancheng/375898.html 转载请保留说明!

上一篇:Vue组件开发之LeanCloud带图形校验码的短信发送功能(vuejs组件开发实例)

下一篇:vue实现仿淘宝结账页面实例代码(vue仿知乎)

  • 税务机关内部控制措施
  • 资产负债表与利润表的区别
  • 增值税销项税的计税依据(销售额)包括()
  • 运输途中合理的消耗损耗
  • 预缴企业所得税怎么做会计分录
  • 管理人员工作服计入什么科目
  • 企业清算过程中应收应付的处置
  • 固定资产报废如何做账务处理
  • 购进客房用品取得增值税专用发票注明税额9120
  • 淘汰生产母猪处理销售收入的分录怎么处理?
  • 当月发票已认证还能作废吗
  • 单位给员工上的商业险是什么
  • 房地产开发企业销售自行开发的房地产项目
  • 劳务费个税申报税率
  • 建筑业预征缴纳税款
  • 物业管理费属于政府购买服务吗
  • 事业单位事业收入和经营收入要上缴财政
  • 企业自用房产出售怎么交税
  • 增值税进项抵扣完了还上附加税吗
  • 跨年度的费用发票,如何做分录
  • 季度盈利要交所税吗
  • 6%技术服务费是普票还是专票
  • 库存商品适用于什么账簿
  • 在线测网速准吗
  • 营运能力指标正常范围
  • 代理进口增值税客户不抵扣,进出口公司可以抵扣吗
  • 商业承兑汇票提示承兑期限
  • 修建污水厂需要办理哪些审批
  • 包工包料工程要交哪些税
  • xcsp_eclib.dll
  • 所得税减免与纳税的关系
  • 交暖气费可以开单位发票吗
  • 阿尔卑斯山环保
  • 银行存款缴纳房产税会计分录
  • 发生的计提费用没有发生怎么办
  • 在报税显示缺少税种信息
  • Cookie和Session的区别,各自的使用方法及常用操作
  • 税前弥补以前年度亏损
  • 民办非企业性质还是商业性质吗
  • 个体户怎么报增值税
  • 视同销售账务处理如何做?
  • 区块管理办法
  • 固定资产的主要风险和关键控制点有哪些?
  • sqlserver英文发音
  • 当master down掉后,pt-heartbeat不断重试会导致内存缓慢增长的原因及解决办法
  • 退教育费附加税怎么申报
  • 融资租赁算非标业务吗
  • 进项税和销项税月末怎么结转
  • 个人开技术服务费
  • 残疾人就业保障金是什么意思啊
  • 开办费怎么做帐
  • 中小微企业有哪些企业
  • 企业会计核算中,对账的内容主要包括
  • 劳务外包账务
  • 会计凭证装订的注意事项
  • 长期待摊费用可以摊销20年吗
  • 账户记录试算不平衡说明记账肯定有差错对吗
  • 基于Sql Server通用分页存储过程的解决方法
  • mysql数据库基本知识点总结
  • 无比强大的思维
  • win8.1使用技巧
  • mac怎么录制
  • U盘安装centos8
  • xp硬盘安装win7系统教程
  • Ubuntu After Install 2.6 帮助你安装 Ubuntu 常用软件
  • fpx是什么文件格式
  • 水下摄影技巧
  • free怎么使用
  • javascriptz
  • opengl做简单的模型
  • opengll
  • android 数据库app
  • mysql定时脚本
  • 置顶怎么设置
  • javascript中函数的作用域分为全局作用域
  • 使用筷子就餐会不会传染乙肝病毒
  • 广东省国家税务总局稽查局局长
  • 重庆国税电子税务局
  • 注册税务师考试时间2024
  • 山东国家税务局许本虎
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设