vue八股文7.0

119 阅读3分钟

路由守卫是什么?一般你都是怎么使用的?全局和局部使用的差异是什么?

路由守卫就是路由跳转的过程中的一些钩子函数,就是有的时候,我们需要通过路由来进行一些操作,比如最常见的登录鉴权,当用户满足条件的时候,才能让其进入导航,否则就取消跳转,并且跳到登录页面让其登录。

什么是动态路由?什么是嵌套路由?谈谈你的理解和使用?

在vue中,动态路由就是将匹配某种模式下的路由映射到同个组件中,动态路由的本质就是通过URL进行传参,可以通过params和query两种方式来进行传参。

嵌套路由:简单来说就是在路由里面嵌套它的子路由。

使用:可以使用children属性实现子路由,但是要注意子路由的path属性前不要带/,不然就一直以根路径开始请求。

有没有在vue按需动态创建过路由地址?谈谈你的理解和使用?

动态路由是我们根据不同的需求加载不同的路由,做到不同的实现页面的渲染。

SPA单页面应用是什么?与MPA多页面应用有什么区别?有什么优缺点?

简单来说就是SPA应用程序只有一个HTML文件,在vue中可以通过vue-router来局部切换组件,而不是刷新整个页面来实现无刷新页面的技术。

区别:

组成:SPA只有一个页面,MPA有多个页面组成

跳转方式:SPA切换页面的时候没有离开页面,MPA页面之间的跳转是从一个页面到另一个页面。

资源公用:SPA的资源是共用的,只需要在外壳部分加载,MPA的资源不共用,每个页面都需要加载。

刷新方式:SPA页面是局部刷新或者更改,MPS是整页刷新。

优缺点:

SPA的优点:页面每次切换跳转的时候,不需要做HTML文件的请求,切换页面的时候速度就很快。

SPA的缺点:首屏加载速度慢,因为首屏要请求一次HTML,同时还要发送一次JS请求,两次请求回来了,首屏才会显示出来。

MPA的优点:首屏加载速度快,因为当我们访问页面的时候,服务器返回一个html,页面就会展示出来,这个过程只经历了一个HTTP请求,所以页面展示的速度非常快。

MPA的缺点:页面切换慢,因为每次跳转都需要发送一个 HTTP 请求,如果网络状态不好,在页面之间来回跳转时,就会发生明显的卡顿,影响用户体验。

对keep-alive的理解,它是如何实现的,具体缓存的是什么?keepalive生命周期有哪些?

keep-alive是vue中的内部组件,能在组件切换过程中将状态保留在在内存中,防止重复渲染DOM,keep-alive包裹动态组件时,会缓存不活动的组件实例,而不是销毁他们。

created-> mounted-> activated>deactivated