[Vue] vue-router-interview
1.vue-router 怎么重定向页面?
- 路由中配置 redirect 属性
- 使用路由的别名来完成重定向
2.vue-router 怎么配置 404 页面?
path: '*',放在最后一个
3.切换路由时,需要保存草稿的功能,怎么实现呢?
- beforeDe
- beforeRouteLeave
4.vue-router 路由有几种模式?说说它们的区别?
hash 模式的特点
hash 表示的是地址栏 URL 中#符号(也称作为锚点), hash 虽然会出现在 URL 中, 但是不会被包含在 Http 请求中, 因此 hash 值改变不会重新加载页面.由于 hash 值变化不会引起浏览器向服务器发出请求, 而且 hash 改变会触发 hashchange 事件, 浏览器的进后退也能对其进行控制, 所以在 HTML5 之前, 基本都是使用 hash 来实现前端路由.
history 模式的特点
利用了 HTML5 新增的 pushState()和 replaceState()两个 api, 通过这两个 api 完成 URL 跳转不会重新加载页面.同时 history 模式解决了 hash 模式存在的问题. hash 的传参是基于 URL 的, 如果要传递复杂的数据, 会有体积限制,
5.说说你对 router-link 的了解
vue-router 插件的其中一个组件, 用于跳转路由, 类似于 a 标签, 它一般也会渲染成 a 标签, 但是可以通过 tag 来变更默认渲染元素, 通过 to 来跳转
6.切换到新路由时,页面要滚动到顶部或保持原先的滚动位置怎么做呢?
滚动到顶部:在 new Router()的时候,配置
scrollBehavior(to, from, savedPosition) {
return { x: 0, y: 0 }
}
7.如何获取路由传过来的参数?
如果使用 query 方式传入的参数使用 this.$route.query 接收
如果使用params方式传入的参数使用this.$router.params 接收
8.说说 active-class 是哪个组件的属性?
active-class 是 vue-router 模块的 router-link 组件中的属性,用来做选中样式的切换;
9.在 vue 组件中怎么获取到当前的路由信息?
this.$route.path / this.$route
10.怎样动态加载路由?
router.addRoutes
11.怎么实现路由懒加载呢?
import 异步加载const component = () =>import('./....')
12.说说 vue-router 完整的导航解析流程是什么?
- 导航被触发;
- 在失活的组件里调用 beforeRouteLeave 守卫;
- 调用全局 beforeEach 守卫;
- 在复用组件里调用 beforeRouteUpdate 守卫;
- 调用路由配置里的 beforeEnter 守卫;
- 解析异步路由组件;
- 在被激活的组件里调用 beforeRouteEnter 守卫;
- 调用全局 beforeResolve 守卫;
- 导航被确认;
- 调用全局的 afterEach 钩子;
- DOM 更新;
- 用创建好的实例调用 beforeRouteEnter 守卫中传给 next 的回调函数。
13.route 和 router 有什么区别?
route 代表当前路由对象,router 代表整个 vue 实例下的路由对象
14.vue-router 钩子函数有哪些?都有哪些参数?
beforeEach,afterEach
beforeEach 主要有三个参数,to,form,next
[Vue] vue-router-interview的更多相关文章
- 三、vue之router
三.vue之router 此时vue的脚手架.创建项目已经完成. ... vue的运行流程 index.html-->main.js-->App.vue-->router/index ...
- Vue中router两种传参方式
Vue中router两种传参方式 1.Vue中router使用query传参 相关Html: <!DOCTYPE html> <html lang="en"> ...
- 四 Vue学习 router学习
index.js: 按需加载组件: const login = r => require.ensure([], () => r(require('@/page/login')), 'log ...
- vue 中router.go;router.push和router.replace的区别
vue 中router.go:router.push和router.replace的区别:https://blog.csdn.net/div_ma/article/details/79467165 t ...
- 【vue】 router.beforeEach
import store from '@/store' const Vue = require('vue') const Router = require('vue-router') Vue.use( ...
- vue & this.$router.resolve
vue & this.$router.resolve gotoAutoUpdate (query = {}) { const { href } = this.$router.resolve({ ...
- vue & vue router & dynamic router
vue & vue router & dynamic router https://router.vuejs.org/guide/essentials/dynamic-matching ...
- vue & vue router & match bug
vue & vue router & match bug match bugs solution name must be router https://stackoverflow.c ...
- Vue中router路由的使用、router-link的使用(在项目中的实际运用方式)
文章目录 1.先看router中的index.js文件 2.router-link的使用 3.实现的效果 前提:router已经安装 1.先看router中的index.js文件 import Vue ...
- Vue Vue.use() / Vue.component / router-view
Vue.use Vue.use 的作用是安装插件 Vue.use 接收一个参数 如果这个参数是函数的话,Vue.use 直接调用这个函数注册组件 如果这个参数是对象的话,Vue.use 将调用 ins ...
随机推荐
- Vue之vue中的data为什么是一个函数+vue中路径别名alias设置
问题描述 为什么在vue组件中,我们的data属性必须是一个函数,new Vue()中的data除外,因为new Vue中只有一个data属性. 原因 因为我们能抽离出来的组件,肯定是具有复用性的,它 ...
- Nginx配置记录【例3】
C服务器,例: [root@82_www_db_2 conf.d]# egrep -v "^#|^$" /etc/nginx/nginx.conf user nginx; work ...
- java代码如何在没有安装JDK的Windows下运行
java代码如何在没有安装JDK的Windows下运行? 对于Java桌面应用来说,比较烦琐的就是安装部署问题,如:客户端是否安装有jre.jre版本.jre在哪里下载.如何用jre启动Java应用等 ...
- 数据框架对比:Hadoop、Storm、Samza、Spark和Flink——flink支持SQL,待看
简介 大数据是收集.整理.处理大容量数据集,并从中获得见解所需的非传统战略和技术的总称.虽然处理数据所需的计算能力或存储容量早已超过一台计算机的上限,但这种计算类型的普遍性.规模,以及价值在最近几年才 ...
- 开源EDR(OSSEC)基础篇- 02 -部署环境与安装方式
https://yq.aliyun.com/articles/683077?spm=a2c4e.11163080.searchblog.9.753c2ec1lRj02l
- 问题:解决上传文件IE浏览器弹出下载框bug?
控制器方法的返回值必须以String返回,再由js处理转换成json对象 $.ajaxFileUpload({ url: "/project/proj_conver_upload&quo ...
- CentOS 6.5 安装OSA监控精灵监控主机
OSA监控是一个开源的图形化免费好用的监控,安装之前首先要配置好PHP环境, yum install httpd mysql mysql-server php-mysql php* -y 编辑http ...
- 初始化EPT
struct eptp_bits { unsigned memory_type :; /* 0: UC uncacheable, 6: WB writeback */ unsigned pagewal ...
- electron--Tray添加图标和上下文菜单到系统通知区(系统托盘)
const { app, Menu, Tray } = require('electron'); //系统托盘图标目录 appTray = new Tray(path.join(__dirname, ...
- 请描述一下 BroadcastReceiver?
BroadCastReceiver 是 Android 四大组件之一,主要用于接收系统或者 app 发送的广播事件. 广播分两种:有序广播和无序广播. 内部通信实现机制:通过 Android 系统的 ...