Vue路由相关面试题

186 阅读1分钟

一、Vue路由模式

路由模式有两种:history、hush(默认)
区别:
    1、表现形态不同
        history:https://juejin.cn/aaa
        hash:https://juejin.cn/#/aaa
    2、跳转请求(找不到页面404时)
        history:https://juejin.cn/id -> 会携带id发送请求
        hash:不会发送请求
    3、打包后前端自测要使用hash,如果使用history会出现空白页

二、介绍一下SPA以及SPA有什么缺点?

1、SPA是什么?

 单页面应用

2、主要的两个缺点

 1、SEO优化不好
 2、某种情况下性能不是很好

三、Vue路径传值

 1、显式传值(query),query要用path来引入,用 this.$route.query.name 接收参数
     https://juejin.cn/about?name=xxx --> 地址栏有参数
 2、隐式传值(params),params要用name来引入,用 this.$route.params.name 接收参数
     https://juejin.cn/about  --> 地址栏不显示

四、Vue-router 导航守卫有哪些?

全局前置/钩子:beforeEach、beforeResolve、afterEach
路由独享的守卫:beforeEnter
组件内的守卫(少用,不好维护):beforeRouteEnter、beforeRouteUpdate、beforeRouteLeave

适用场景:判断是否登录,如果登录就next否则就跳转到登录页面

五、Vue动态路由

 场景:详情页(文章、商品)----(:skuId)
 router.js配置:
    {
        path: '/detail/:skuId',
        component: Detail,
        meta: { show: true },
    }
    

六、 $route$router 二者有何区别?

$router 为vueRouter的实例,相当于一个全局路由对象,里面含有很多属性和子对象
$route 相当于当前正在跳转的路由对象 home --> news