vue教程(五)--路由router介绍
一、html页面中如何使用
1、引入 vue-router.js
2、安装插件
Vue.use(VueRouter)
3、创建路由对象
var router = new VueRouter({
// 4、配置路由
routes:[{
path:'/login',
component:Login //跳转到Login组件,所以先创建Login组件
}]
})
创建Login组件
var Login = {template:'<div>我是登陆页面</div>'}
5、将配置好的路由关联到vue实例中
new Vue({
el:'',
components:{
'app':App
},
router:router//将上面步骤中创建的router对象引入进来,不引入报undifined 对象取不到mached错误
})
6、指定路由改变局部的位置
var App={
template:'
<div>
<router-view></router-view> //留坑,待目标地址内容填充
</div>
'
}
二、路由内置组件router-link
用法 <rouoter-link to='/login'>登陆去</router-link>
如果路由规则中添加name属性,例如 {name:'login',path:'/login',component:Login}
则router-link可以通过名称找对象,获取path,用法 <rouoter-link :to="{name:'login'}">登陆去</router-link>
三、router参数获取
方式一 query方式
<rouoter-link to='/login' query={id:1}>登陆去</router-link>
路由配置路径为 (即路由规则) {name:'login',path:'/login',component:Login}
获取this.$route.query.id
生成的浏览器路径为 login?id=1
方式二 params方式
<rouoter-link to='/login' params={id:1}>登陆去</router-link>
路由配置路径也就是路由规则为 {name:'login',path:'/login/:id',component:Login}
获取方式this.$route.params.id
生成的浏览器路径为 login/id
两种方式相比较,params的方式需要在路由规则也就是路径中配置。
四、$router 与 $route的区别
两者都是vue-router的内置对象,$route是路由信息对象,只读对象。 $router是路由操作对象,只写对象。
五、嵌套路由
多个组件,按照不同锚点值部分,嵌入不同的坑。
即<router-view></router-view>中包含<router-view></router-view>
例子:将上面的Login组件使用router-view留坑
var Login = {template:'<div><router-view></router-view></div>'} 则对应的路由规则配置children属性,变为如下格式:
{name:'login',path:'/login',component:Login,children:[{name:'test',path:'/test',component:ChildrenCom}]} //path可以写成/test也可以只写test,只是浏览器展示路径不同而已
路由其他介绍:
1、路由meta元数据
meta是对于路由规则是否需要验证权限的配置。 meta属性于name同级 meta:{ischecked:true}
2、路由钩子
权限控制的函数执行时期。路由匹配后,渲染到router-view之前,用法 router.beforeEach(function(to,from,next){}) //最后next()代表同行,不调用会卡住 next(false)代表取消导航 next({name:''})重定向
3、路由规则除了在上述new VueRouter是指定routers,还可以对象动态添加路由。 router.addRoutes([........])
4、路由规则可以配置重定向路径
{name:'login',path:'/login',redirect:{name:''}}
5、其他
a、跳到指定锚点 this.$router.push()
b、根据历史记录前进或者后退
this.$router.go(-1|1)
1代表前进 -1后退
注意:一个视图使用一个组件渲染,多个视图需要多个组件,所以需要在路由规则的component改完components
例如
<router-view ></router-view>
<router-view name='a'></router-view>
<router-view name='b'></router-view>
规则配置应该为:
{name:'shouye',path:'/',components:{default:Header,a:Body,b:Footer}}
注:git上有开发的项目作为例子,有兴趣的可以下载学习。源代码已上传git:Git地址,也可以扫码加入QQ交流群

vue教程(五)--路由router介绍的更多相关文章
- vue教程3-01 路由、组件、bower包管理器使用
vue教程3-01 路由.组件.包管理器 以下操作前提是 已经安装好node.js npm bower-> (前端)包管理器 下载: npm install bower -g 验证: bower ...
- vue工程化与路由router
一.介绍 vue.js 是 目前 最火的前端框架,vue.js 兼具 angular.js 和 react.js 的优点,并剔除它们的缺点.并且提供了很多的周边配套工具 如vue-router ...
- vue初级学习--路由router的编写(resolve的使用)
一.导语 最近在用vue仿写淘宝的商品详情页面以及加入购物车页面,若是成功了,分享给大家~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 二.正文 我先用控制台创建了vue项目demo(如 ...
- vue教程3-05 vue组件数据传递、父子组件数据获取,slot,router路由
vue教程3-05 vue组件数据传递 一.vue默认情况下,子组件也没法访问父组件数据 <!DOCTYPE html> <html lang="en"> ...
- vue项目创建步骤 和 路由router知识点
菜单快捷导航: vue项目创建 vue路由router知识点(路径参数.查询参数.命名路由.嵌套路由.命名视图.hash/history模式) 1.创建一个vue项目步骤 (windows环境下).创 ...
- Vue学习笔记-Vue.js-2.X 学习(七)===>脚手架Vue-CLI(路由Router)
脚手架Vue-CLI(路由Router) 一 按装(通过新创建脚手架按装),如果在原来的脚手架上按装直接进图型化界面vue ui的插件按装. 二 使用(上面按装下面步骤自动会生成) 第一步:导入路由对 ...
- react router @4 和 vue路由 详解(六)vue怎么通过路由传参?
完整版:https://www.cnblogs.com/yangyangxxb/p/10066650.html 8.vue怎么通过路由传参? a.通配符传参数 //在定义路由的时候 { path: ' ...
- react router @4 和 vue路由 详解(四)vue如何在路由里面定义一个子路由
完整版:https://www.cnblogs.com/yangyangxxb/p/10066650.html 6.vue如何在路由里面定义一个子路由? 给父路由加一个 children:[] 参考我 ...
- vue教程3-06 vue路由嵌套(多层路由),路由其他信息
多层嵌套: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...
随机推荐
- 为QNetworkAccessManager添加超时提醒(自己记录一段时间里的下载字节数,用定时器去定期检测,从而判断是否超时)
在做更新,在测试异常的时候,在下载过程中,发现如果直接系统禁用了网络,会报错误,可以捕获.但是如果是第三方软件限制程序联网,问题来了. 程序会一直在那里等待,没有异常,也不发送QNetworkAcce ...
- jQuery中的Ajax应用<思维导图>
传统的WEB应用程序模型是这样工作的:当用户的界面操作触发HTTP请求,服务器在接到请求后进行一些业务逻辑处理,如保存数据等,然后向客户端返回一个html页面.但这种方式并没有给予用户很好的应用体验, ...
- Exceptionless(二) - 使用进阶
Exceptionless(二) - 使用进阶 作者:markjiang7m2 原文地址:https://www.cnblogs.com/markjiang7m2/p/11100563.html 官网 ...
- Hive学习之路(二)—— Linux环境下Hive的安装部署
一.安装Hive 1.1 下载并解压 下载所需版本的Hive,这里我下载版本为cdh5.15.2.下载地址:http://archive.cloudera.com/cdh5/cdh/5/ # 下载后进 ...
- spring cloud 系列第6篇 —— zuul 服务网关 (F版本)
源码Gitub地址:https://github.com/heibaiying/spring-samples-for-all 一.zuul简介 1.1 API 网关 api 网关是整个微服务系统的门面 ...
- Python机器学习经典实例电子版和附带源码
Python机器学习经典实例电子版和附带源码 下载:https://pan.baidu.com/s/1m6ODNJk--PWHW8Vdsdjs-g 提取码:nyc0 分享更多python数据分析相关电 ...
- C++ 洛谷 P1731 [NOI1999]生日蛋糕
P1731 [NOI1999]生日蛋糕 一本通上也有. 这TM是一道极其简单的深搜剪枝(DP当然可以的了,这里我只讲深搜). 首先圆柱公式:(有点数学基础都知道) V=πR2H S侧=π2RH S底= ...
- HDU 1561:The more, The Better(有依赖的树型背包)
http://acm.hdu.edu.cn/showproblem.php?pid=1561 题意:有n个点,容量为m,每个点有一个价值,还给出n条边,代表选第i个点之前必须先选ai,问最多的价值能取 ...
- leetcode笔记 动态规划在字符串匹配中的应用
目录 leetcode笔记 动态规划在字符串匹配中的应用 0 参考文献 1. [10. Regular Expression Matching] 1.1 题目 1.2 思路 && 解题 ...
- JAVA AES文件加解密
AES加解密算法,代码如下: /** * Created by hua on 2017/6/30. */ import javax.crypto.Cipher; import javax.crypto ...