1、vue-router怎么重定向页面?

答:路由中配置redirect属性

2、vue-router怎么配置404页面?

答:path: '*' 是对的 但是应该放在最后一个

3、切换路由时,需要保存草稿的功能,怎么实现呢?

答:beforeRouteLeave写逻辑

4、vue-router路由有几种模式?说说它们的区别?

答:hash模式:
  1.url路径会出现“#”号字符
  2.hash值不包括在Http请求中,它是交由前端路由处理,所以改变hash值时不会刷新页面,也不会向服务器发送请求,所以这也是单页面应用的必备。
  3.hash值的改变会触发hashchange事件
  4.当我们进行刷新操作,或者直接输入浏览器地址时,hash路由会加载到地址栏对应的页面,而history路由一般就404报错了(刷新是网络请求,没有后端准备时会报错)。

history模式:
  1.history运用了浏览器的历史记录栈,之前有back,forward,go方法,之后在HTML5中新增了pushState()和replaceState()方法,它们提供了对历史记录进行修改的功能,不过在进行修改时,虽然改变了当前的URL,但是浏览器不会马上向后端发送请求。

  2.history的这种模式需要后台配置支持。比如:当我们进行项目的主页的时候,一切正常,可以访问,但是当我们刷新页面或者直接访问路径的时候就会返回404,那是因为在history模式下,只是动态的通过js操作window.history来改变浏览器地址栏里的路径,并没有发起http请求,但是当我直接在浏览器里输入这个地址的时候,就一定要对服务器发起http请求,但是这个目标在服务器上又不存在,所以会返回404

  3.hash路由支持低版本的浏览器,而history路由是HTML5新增的API。

5、vue-router有哪几种导航钩子( 导航守卫 )?

答:https://www.jianshu.com/p/5528c30f866b

6、说说你对router-link的了解

答:vue-router插件的其中一个组件, 用于跳转路由, 类似于a标签, 它一般也会渲染成a标签, 但是可以通过tag来变更默认渲染元素, 通过to来跳转;demo

7、vue-router如何响应路由参数的变化?

答:1、使用 watch 监听 2、向 router-view 组件中添加 key  <router-view :key="$route.fullPath"></router-view> $route.fullPath 是完成后解析的URL,包含其查询参数信息和hash完整路径

8、你有看过vue-router的源码吗?说说看

答:https://www.cnblogs.com/caizhenbo/p/7297730.html

9、切换到新路由时,页面要滚动到顶部或保持原先的滚动位置怎么做呢?

答:使用scrollBehavior demo

10、在什么场景下会用到嵌套路由?

答:在页面点击不同的选项卡切换不同的路由来展示不同的内容时

11、如何获取路由传过来的参数?

答:如果使用query方式传入的参数使用this.$route.query 接收
  如果使用params方式传入的参数使用this.$router.params接收

12、说说active-class是哪个组件的属性?

答:router-link

13、在vue组件中怎么获取到当前的路由信息?

答:this.$route

14、vur-router怎么重定向?

答:redirect 动态的话在回调里面写逻辑判断

15、怎样动态加载路由?

答:vue-router的addRoutes方法

16、怎么实现路由懒加载呢?

答:一般都用箭头函数的方法 component:()=>import('组件路径')

17、如果让你从零开始写一个vue路由,说说你的思路

答:创建完页面后,在router.js里创建一个路径,(一般刚创建项目时会有Home和About的示例,我都是直接复制一下他们的路由然后再改成自己的),然后在对应的页面中引用

18、说说vue-router完整的导航解析流程是什么?

答:1.导航被触发;2.在失活的组件里调用beforeRouteLeave守卫;3.调用全局beforeEach守卫;4.在复用组件里调用beforeRouteUpdate守卫;5.调用路由配置里的beforeEnter守卫;6.解析异步路由组件;7.在被激活的组件里调用beforeRouteEnter守卫;8.调用全局beforeResolve守卫;9.导航被确认;10..调用全局的afterEach钩子;11.DOM更新;12.用创建好的实例调用beforeRouteEnter守卫中传给next的回调函数。

19、路由之间是怎么跳转的?有哪些方式?

答:组件导航 router-link router-view 编程导航router.pushr outer.replace router.go

20、如果vue-router使用history模式,部署时要注意什么?

答:服务器的404页面需要重定向到index.html

21、route和router有什么区别?

答:router是new vueRouter的实例,route是当前路由的对象

22、vue-router钩子函数有哪些?都有哪些参数?

答:全局的:beforeEach、beforeResolve、afterEach
  路由的:beforeEnter
  组件的:beforeRouteEnter、beforeRouteUpdate、beforeRouteLeave
  参数:to、from、next;正对不同的钩子函数参数有所差异。

23、vue-router是用来做什么的?它有哪些组件?

答:vue-router路由,通俗来讲主要是来实现页面的跳转,通过设置不同的path,向服务器发送的不同的请求,获取不同的资源。
主要组件:router-view、router-link

vue-router面试题的更多相关文章

  1. Vue 前端面试题

    Vue 前端面试题 1. 说一下 Vue 的双向绑定数据的原理 vue 实现数据双向绑定主要是:采用数据劫持结合“发布者 - 订阅者”模式的方式,通过 Object.defineProperty() ...

  2. vue前端面试题知识点整理

    vue前端面试题知识点整理 1. 说一下Vue的双向绑定数据的原理 vue 实现数据双向绑定主要是:采用数据劫持结合发布者-订阅者模式的方式,通过 Object.defineProperty() 来劫 ...

  3. vue.js面试题整理

    Vue.js面试题整理 一.什么是MVVM? MVVM是Model-View-ViewModel的缩写.MVVM是一种设计思想.Model 层代表数据模型,也可以在Model中定义数据修改和操作的业务 ...

  4. Vue 前端面试题[转]

    https://mp.weixin.qq.com/s/Uxhx2dJ1Xbm6N3Gl7wNZNw Vue 前端面试题 游荡de蝌蚪 前端开发 1周前 作者:游荡de蝌蚪 https://segmen ...

  5. 整理Vue.js 面试题

    Vue.js 面试题整理   Vue项目结构介绍 build 文件夹:用于存放 webpack 相关配置和脚本. config 文件夹:主要存放配置文件,比如配置开发环境的端口号.开启热加载或开启gz ...

  6. Vue.js面试题整理(转载)

    一.什么是MVVM? MVVM是Model-View-ViewModel的缩写.MVVM是一种设计思想.Model 层代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑:View 代表UI ...

  7. [ 转载 ] vue.js面试题一

    转载自:https://www.cnblogs.com/aimeeblogs/p/9501490.html 如有侵权 联系删除 Vue.js面试题整理 一.什么是MVVM? MVVM是Model-Vi ...

  8. Vue.js面试题

    一.什么是MVVM? MVVM是Model-View-ViewModel的缩写.MVVM是一种设计思想.Model 层代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑:View 代表UI ...

  9. Vue 2.0 + Vue Router + Vuex

    用 Vue.js 2.x 与相配套的 Vue Router.Vuex 搭建了一个最基本的后台管理系统的骨架. 当然先要安装 node.js(包括了 npm).vue-cli 项目结构如图所示: ass ...

  10. vue router 只需要这么几步

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

随机推荐

  1. c++学习8 动态空间申请

    一 动态分配内存的概述 在数组一幕中,介绍过数组的长度是事先预定好的,在整个程序中固定不变.但是在实际的编程过程中,往往会发生这种情况:我们并不清楚到底需要多少数目的空间,而且无法事先预定,所以对了应 ...

  2. mysql零基础-1

    数据库概述 为什么要使用数据库 持久化 DB:数据库 DBMS:数据库管理系统 SQL:结构化查询语言 数据库与数据库管理系统关系 数据库管理系统(DBMS)可以管理多个数据库,一般开发人员会针对每一 ...

  3. midway 框架学习

    最近 和别人一块运维 开源 产品,后台需要用到 midway框架,所以进行学习. 首先就是midway的搭建, 首先 npm init midway ,初始化项目,选择 koa-v3 template ...

  4. 2003031126-石升福-python数据分析第三周作业

    项目 Numpy 博客名称 2003031126-石升福-python数据分析第三周作业 课程班级博客链接 https://edu.cnblogs.com/campus/pexy/20sj 作业链接 ...

  5. hdu:最大点权(强连通分量kosaraju)

    Problem Description给定一个有向图,每个点ii有点权a_ia​i​​,请对于每个点ii,找到ii能到达的点中点权的最大值(包括ii点). Input第一行包含一个正整数T(1\leq ...

  6. [Leetcode 559]N叉树的最大深度Maximum Depth of N-ary Tree DFS/BFS模板

    题目 https://leetcode.com/problems/maximum-depth-of-n-ary-tree/ N叉树的最大深度 Given a n-ary tree, find its ...

  7. 狂神学习笔记domo6

    1.新特性,1000000000可以写成10_0000_0000便于阅读 2.强制类型转换 先强制类型转换再赋值才能正确的结果 public class domo06 { public static ...

  8. 点击事件触发count自增

    1.vue3合成API :(即为什么要用setup() :为了数据更加关联) vue3 引入setup()合成API语法,它可以将某数据关联的内容整合到一个部分,即使setup里的内容越来越多也会围绕 ...

  9. Qt中的渲染

    Qt中3种不同的渲染方式 1 )Qt::AA_UseDesktopOpenGL 使用显卡的openGL库,且要求支持openGL 2.1及以上的版本.因此很多老旧设备是不满足版本要求的(windows ...

  10. 第二节 printf语句和C++中的判断结构

    第二节 printf语句和C++中的判断结构 1.1printf语句作用 保留几位小数:%.4lf 保留四位小数 %.3lf 保留三位小数, 格式化输出:整数:printf("%5d!&qu ...