![0185c3963532d8e08b946a4f6b14fb28.png](https://i-blog.csdnimg.cn/blog_migrate/7796fa8be6f46accfb136e27e3e4faba.png)
点击蓝字 关注我们
![dffa7bb40479b35afea3dc07e1ab7564.png](https://i-blog.csdnimg.cn/blog_migrate/dc76d7f6aa73991fc5fd4b1c5c4d3035.png)
![593413751d9a8f7bf864ae91f7b2df79.png](https://i-blog.csdnimg.cn/blog_migrate/4c01dfc0d67dc3fae4db593f7f231fc3.png)
![32d1d46eca20ea194697a133933b1ea5.png](https://i-blog.csdnimg.cn/blog_migrate/87e4d6d06eade792a2b08f4144f756f1.png)
Vue Router
一. 安装
二. 导入
三. 说明
四. 使用
4.1 静态页面跳转
4.2 动态页面跳转
4.3 子路由
4.4 通过程序传参
4.5 同时(同级)展示多个视图
4.6 导航钩子
![0b07fa4d0422a646ff34e2a012967657.png](https://i-blog.csdnimg.cn/blog_migrate/5e124ab000baafa0b4d68872ac9743fe.png)
![9e5efca0ef9153cc33e3747136bd9fc4.png](https://i-blog.csdnimg.cn/blog_migrate/f0cf811c5c3e77352cc3b880ee6b3d52.png)
继VUE Router学习原理(一)后续
VUE Router学习原理(一)链接
https://mp.weixin.qq.com/s/p-Lghdp-pLse22LtY1vT8g
肆·使用
![9ed18537143f322ad8943f2435191537.png](https://i-blog.csdnimg.cn/blog_migrate/7fc8067bd03b80d0b052ac4c11bbcdac.png)
![a1cb8e5651e61d3a026b2611b3ff1828.png](https://i-blog.csdnimg.cn/blog_migrate/88bcc15f138b85e28ceb2ca090a6805b.png)
4.4通过程序传参
·路由:在回退时回到上一层
·js
router.push(location, onComplete?, onAbort?)
·替换:替换掉当前的 history 记录, 在回退时不会回到上一层
·js
router.replace(location,onComplete?, onAbort?)
·回退
·js
router.go(n)
·带有参数的路由
·js
{
name: 'usr'
path: '/usr/:name',
component: {
template: `
}
} ·js
router.push({ name: 'user', params: { userId: '123' }})
·带查询参数:/usr?usrname=private
·js
router.push({ path: 'usr', query: { usrname: 'AAA' }})
参考 官方网站
注意
this的指向
params中的属性名称必须存在
![ac3eeb0e279c21f728104a530aa20f9f.png](https://i-blog.csdnimg.cn/blog_migrate/903352a3a836c2d66dd5e764532b1943.jpeg)
![9ed18537143f322ad8943f2435191537.png](https://i-blog.csdnimg.cn/blog_migrate/7fc8067bd03b80d0b052ac4c11bbcdac.png)
![a1cb8e5651e61d3a026b2611b3ff1828.png](https://i-blog.csdnimg.cn/blog_migrate/88bcc15f138b85e28ceb2ca090a6805b.png)
4.5同时(同级)展示多个视图
·案例:默认为 default
·html
·注册:使用components注册
·js
var router = new VueRouter({
routes: [
{
path: '/',
name: 'main',
components: {
default: {
template: `
首页
}
a: {
template: `
babaab
},
b: {
template: `
bcbcbc
}
}
},
xxx xxx xxx
});
![a3c75168d53753fef3b2de6d29e77c77.png](https://i-blog.csdnimg.cn/blog_migrate/4ddc61cbd22a6f64faf9eec20611a4f9.jpeg)
![9ed18537143f322ad8943f2435191537.png](https://i-blog.csdnimg.cn/blog_migrate/7fc8067bd03b80d0b052ac4c11bbcdac.png)
![a1cb8e5651e61d3a026b2611b3ff1828.png](https://i-blog.csdnimg.cn/blog_migrate/88bcc15f138b85e28ceb2ca090a6805b.png)
4.6导航钩子
·过滤器:没有登录时跳转到登录页面
·js
router.beforeEach(function(to, from, next){
let logged_in = false;
if(to.path == '/post' && !logged_in)
next('/login'); // 跳转到登录页
else
next(); // 继续
});
·匹配:使用meta(元数据)完成判断
·js
routes: [
{
path: '/',
name: 'main',
meta: {
login_required: true
},
components: {
default: {
template: `
首页
}
}
},
xxx xxx xxx ·js
router.beforeEach(function(to, from, next){
let logged_in = false;
if(!logged_in && to.matched.some(function(item){
return item.meta.login_required;
})) {
next('/login'); // 跳转到登录页
} else {
next(); // 继续
}
});
![9ed18537143f322ad8943f2435191537.png](https://i-blog.csdnimg.cn/blog_migrate/7fc8067bd03b80d0b052ac4c11bbcdac.png)
![a1cb8e5651e61d3a026b2611b3ff1828.png](https://i-blog.csdnimg.cn/blog_migrate/88bcc15f138b85e28ceb2ca090a6805b.png)
画外音
VUE-Router学习笔记
更新完毕
![759373a495d387e6aabb3ef89dc9e553.png](https://i-blog.csdnimg.cn/blog_migrate/3abf1ea448c6fa241861894fdc6daa5f.jpeg)
![fa1b1a584b28be6abc237bb627f4dec1.png](https://i-blog.csdnimg.cn/blog_migrate/dc243f6801bb56be8624b5f394232f09.png)
我知道你“在看”哟~