Vue路由

目录

一、谈谈对vue-router的理解

二、谈谈对路由的理解 

三、路由的基本使用 

首先需要在main.js中配置路由:

实现切换(active-class可配置高亮样式)

指定显示位置:

四、多级(嵌套)路由 

1、配置路由规则,使用children配置项:

2、跳转的时候要写完整路径:

五、路由的query参数 

1、传递参数

2、接收参数

六、路由的params参数

 1、配置路由,声明接收params参数

2、传递参数

3、接收参数

七、编程式路由 

1、作用:不借助实现路由模块,让路由跳转更灵活

2、编码:

八、缓存路由组件 

1、作用:让不展示的路由组件保持挂载,不被销毁。

2、具体代码:

九、两个新的生命周期钩子 

1、作用:路由组件所独有的两个钩子,用于捕获路由组件的激活状态。

2、具体名字:

十、路由守卫 

1、作用:对路由进行权限控制;

2、分类:全局守卫、独享守卫、组件内守卫;

3、全局守卫:

全局前置守卫,初始化时执行,每次路由切换前执行

全局后置路由守卫,初始化时执行,每次路由切换之后被调用

4、独享路由守卫:某一个路由所独享的

5、组件内路由守卫


一、谈谈对vue-router的理解

        首先,需要理解一下vue-router:

vue-router是vue的一个插件,专门用来实现SPA应用。SPA也就是单页Web应用,特点是:整个应用只有一个完整的页面,点击页面中的导航链接不会刷新页面,只会做页面的局部更新,数据需要,通过ajax请求获取。

二、谈谈对路由的理解 

什么是路由:

1、一个路由就是一组映射关系(key-value)

2、key为路径,value可能是function或component

路由的分类:

1、前端路由

(1)理解:value是component,用于展示页面内容。

(2)工作过程:当浏览器的路径改变时,对应的组件就会显示。

2、后端路由

(1)理解:value是function,用于处理客户端提交的请求。

(2)工作过程:服务器接收到一个请求时,根据请求路径找到匹配的函数来处理请求,返回响应数据。

三、路由的基本使用 

首先需要在main.js中配置路由:

import Vue from 'vue'

import App from './App.vue'

import VueRouter from 'vue-router'

import router from './router'

Vue.config.productionTip = false

Vue.use(VueRouter)

new Vue({

    el:'#app',

    render: h => h(App),

    router:router

}).$mount('#app')

实现切换(active-class可配置高亮样式)

 <router-link to="/about"  active-class="active">About</router-link>

<router-link>的replace属性:

1、作用:控制路由跳转时操作浏览器历史记录的模式;

2、浏览器的历史记录有两种写入模式:分别为push和replace,push是追加历史记录,replace是替换当前记录,路由跳转时候默认为push;

3、直接在<router-link>添加replace即可。

指定显示位置:

<!-- 指定组件的呈现位置 -->

<router-view></router-view>

几个注意点:

1、路由组件通常存放在pages文件夹,一般组件通常存放在components文件夹;

2、通过切换,“隐藏”了的路由组件,默认是被销毁掉的,需要的时候再去挂载;

3、每个组件都有自己的$route属性,里面存储着自己的路由信息;

4、整个应用只有一个router,可以通过组件的$router属性获取到。

四、多级(嵌套)路由 

1、配置路由规则,使用children配置项:

 routes:[

        {

            path:'/about',

            component:About

        },

        {

            path:'/home',

            component:Home,

            children:[

                {

                    path:'news',

                    component:News

                },

                {

                    path:'message',

                    component:Message

                }

            ]

        }

    ]

2、跳转的时候要写完整路径:

<router-link class="list-group-item" to="/home/news" active-class="active">News</router-link>

五、路由的query参数 

1、传递参数

<router-link :to="{

                  path:'/home/message/details',

                  query:{

                      id:m.id,

                      title:m.title

                  }

            
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

让我打个盹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值