Vue配置路由和传参方式及路由守卫!
安装路由
npm i vue-router -S
引入路由
import VueRouter form VueRouter
注入路由模块
Vue.use(VueRouter)
定义路由匹配规则
let routes = [
{...},
{...}
]
上列匹配规则中 对象有如下属性
path : 路由路径
component : 所加载的组件
name : 别名
redirect : 重定向
children : 子级路由
创建路由实例
let router = new VueRouter({
routes : routes //routes属性值应该为上述路由匹配规则数组
})
将路由实例注入到初始化代码中
let app = new Vue({
data:...,
router : router
})
跳转:
标签跳转
<router-link to="" ></router-link>
该标签拥有属性
to : 目标路径 也可以是对象
tag: 指定该标签解析成实际的标签类型
activeClass: 指定选中时的class名
js跳转(编程式导航)
在组件内:
this.$router.push()
this.$router.replace()
this.$router.go() 前进或者后退 正前负退
路由传参
传统search传参(?号传参)
传送数据
标签传参
<router-link :to="{name:'...',query:data}"></router-link>
编程传参
this.$router.push({
name : "...",
query : data
})
接收数据
this.$route.query
路径传参(动态路由)
路由配置:
{path:"/detail/:id",component:....}
传送数据:
<router-link :to="{name:'...',params:data}">
编程传参:
this.$router.push({name:'...',params:data})
接收参数
this.$route.params
路由守卫(导航守卫)
路由的钩子函数
三大类
全局
决定跳转前
router.beforeEach((to,from,next)=>{})
to代表目标路径对象
from代表来源路径对象
next() 是否继续 参数有三种
true或者不传 代表允许跳转
false 代表中止跳转
填入路径 会重定向到指定路径
决定跳转后但还没有跳转时 此时无法阻止路由跳转
router.afterEach((to,from)=>{})
路由独享
{path:"....",beforeEnter((to,from,next)=>{})}
组件守卫
进入当前组件前
beforeRouteEnter((to,from,next)=>{})
离开当前组件前
beforeRouteLeave((to,from,next)=>{})
路径没有变化但是参数变化时(多用于监听单纯的参数变化)
beforeRouteUpdate((to,from,next)=>{})
Vue配置路由和传参方式及路由守卫!的更多相关文章
- 前台VUE的组件之间传参方式
路由传参 """ 转跳: <router-link :to="'/course/'+course.id">{{course.name}}& ...
- Vue Router路由导航及传参方式
路由导航及传参方式 一.两种导航方式 ①:声明式导航 <router-link :to="..."> ②:编程式导航 router.push(...) 二.编程式导航参 ...
- $router和$route的区别,路由跳转方式name 、 path 和传参方式params 、query的区别
一.$router和$route的区别 $router : 是路由操作对象,只写对象$route : 路由信息对象,只读对象 例子://$router操作 路由跳转 this.$router.push ...
- Vue-admin工作整理(四):路由组件传参
路由组件传参:如果在一个页面中,需要根据路由去获得参数,去对页面进行一些逻辑处理,首先可以通过this.$router来获取路由实例的参数,这样页面组件和路由就进行了耦合,为了进行分离,更大程度复用, ...
- VueJs(11)---vue-router(命名路由,命名视图,重定向别名,路由组件传参)
vue-router 上篇文章讲了第一篇vue-router相关文章,文章地址:VueJs(10)---vue-router(进阶1) 一.命名路由 有时候,通过一个名称来标识一个路由显得更方便一些, ...
- Vue中router两种传参方式
Vue中router两种传参方式 1.Vue中router使用query传参 相关Html: <!DOCTYPE html> <html lang="en"> ...
- angularjs简单实现$http.post(CORS)跨域及$http.post传参方式模拟jQuery.post
1.开启angularjs的CORS支持 .config(function($httpProvider) { // CORS post跨域配置 $httpProvider.defaults.useXD ...
- Vue的组件及传参
目录 Vue的组件及传参 Vue组件的概念 根组件 子组件(局部组件) 父组件向子组件传值 子组件向父组件传值 Vue的组件及传参 Vue组件的概念 我们首先要知道组件的概念,实际上每一个组件都是一个 ...
- react中的传参方式
react是一个SPA模式,即组件嵌套租,在一个单页面的应用中组件间的数值传递是必不可少的,主要的传参方式大致有一下几种: 1,在挂载的地方给组件传参 ReactDOM.rander(<a na ...
随机推荐
- 关于Apache本地能访问外网不能访问的问题
title: 关于Apache本地能访问外网不能访问的问题 date: 2018-08-05 19:22:12 tags: web --- 在配置apache和tomcat时,把它们都配置好,放到服务 ...
- github配置密钥
我们在githob创建项目后,本地使用git 克隆代码 需要在githob配置密钥,才可以 步骤: 下载git,进行安装,安装好后.点击桌面,右键,选择>>git bash 在弹出的黑框 ...
- 201871010115 马北 《面向对象程序设计(java)》 第6-7周学习总结
项目 内容 <面向对象程序设计(java)> https://home.cnblogs.com/u/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.c ...
- 代码审计-extract变量覆盖
<?php $flag='xxx'; extract($_GET); if(isset($shiyan)) { $content=trim(file_get_contents($flag)); ...
- 关于git设置多个账号的问题,ideal中clone项目
一.排坑 1.ping github.com超时.修改C:\Windows\System32\drivers\etc的hosts文件,添加 # GitHub地址 192.30.255.112 gith ...
- 【oracle】substr函数 字符截取
- bash shell——sum
#!/bin/bash # sum.sh # 获取随机数量的参数,相加并打印结果 # total= # # $# 表示参数的数量 # for 循环获取每个参数 # ${!i} 表示返回第i个参数 # ...
- ios、安卓的兼容性
日期转换成时间戳: 安卓下可以使用 Date.parse(new Date('2019-11-18 12:00:00')) 直接转换,结果为 1574049600000 ios下 Date.parse ...
- django -- admin里的配置
前戏 Django给我们提供了一个后台管理系统,方便我们进行数据表的管理 创建超级用户 python manage.py createsuperuser 配置 默认我们登录到后台不显示任何一张表,如果 ...
- CF717A Festival Organization(第一类斯特林数,斐波那契数列)
题目大意:求 $\sum\limits_{n=l}^{r}\dbinom{f_n}{k}\bmod 10^9+7$.其中 $f_n$ 是长度为 $n$ 的 $01$ 序列中,没有连续两个或超过两个 $ ...