最近在找工作,记录一下遇到的面试题和我整顿后的答案。
-
vue
1、vue-router 晓得吗?有哪几种不同的模式?
https://www.jianshu.com/p/4c5…
https://www.jianshu.com/p/557…
https://blog.csdn.net/weixin_…
–vue-router
vue-router 就是 vue 深度集成的单页面利用的门路管理器,在 vue 的单页面利用中,由它建设起 url 和页面的映射关系。
–hash/history
vue-router 在实现单页面利用前端路由时,提供了两种形式:hash 和 history,依据 mode 参数来决定采纳哪一种。
① hash 模式
- url 里会带 #号,#号是 url 的的锚点,代表页面的一个地位,vue-router 组件跳转的时候只扭转# 号后的局部,所以不会向后端发送申请和从新加载页面,只会对 dom 的指定地位进行渲染。
- 每次扭转 #号后局部,浏览器会在历史列表中新增一条记录,所以按后退会返回上一个地位。
- hash 模式的实质原理是 wendow 的 onhashchange 工夫,利用它来监控 url hash 的扭转来更新组件渲染。
② history 模式
- url 里不带 #号。
- 原理是利用了 h5 中的 pushState 或 replaceState api,实现了只在浏览器历史中新增记录,扭转 location 地址栏后不从新向服务器申请的性能。
- 但这个模式下刷新页面时会发申请,服务器如果须要非凡配置来防止返回 404。
2、说一下 vue 外面的组件传参。
https://www.jianshu.com/p/85b…
① 父组件传递给子组件:
- 父组件通过组件标签内冒号参数名(:paramsName)传递,子组件通过 props 参数接住。
- 子组件内调用 this.$parent.paramsName 间接拜访父组件参数 / 办法
② 子组件传递给父组件
- 通过事件传递 this.$emit()
- 父组件通过 this.$refs 间接调用子组件参数
- 父组件通过 this.$children[i] 间接调用子组件参数。
③ 兄弟组件传递
- 通过事件总线传递(vue2 eventbus\vue3 mitt)
- 通过 vuex 传递
3、说下 vue 组件的生命周期。
https://www.cnblogs.com/qidh/…
https://www.jianshu.com/p/410…
- beforeCreate
第一个生命周期函数,vue 实例初始化时调用这个函数,这时 data 和 methods 跟 dom 都没有初始化。 - created
vue 实例创立创立实现时调用这个函数,这时 data 和 methods 曾经能够用,但 dom 模板还没渲染。能够在这个阶段向后盾申请数据。 - beforeMount
挂载开始前被调用,dom 模板编译实现,用户能够看到模板页面,然而看不到真正的数据。 - mounted
dom 树残缺渲染到页面后调用,用户此时能够看到实在数据,组件创立阶段完结。这个阶段能够进行 dom 操作,能够初始化一些第三方 ui 插件。 - beforeUpdate
数据被更新时调用,然而未出现到页面上。 - updated
数据更新后虚构 dom 从新渲染后调用。 - beforeDestroy
实例被销毁前调用,组件 data、methods 等依然能够被失常拜访。 - destroyed
组件销毁实现后调用,data、methods 都不可应用了。
4、说一说 vue 的双向绑定。