前端面试题总结(js、html、小程序、React、ES6、Vue、算法)-笔记03

144 阅读3分钟

由于小编正临近面试,就在网上找了一套面试题做准备,其中答案是小编在网上搜索加上自己的理解写上的,如有不符之处,欢迎来讨论。

一、Vue面试题

生命周期函数面试题:

  1. **什么是vue的生命周期及作用:**vue是一套用于构建用户界面的渐进式框架,被设计为自底向上逐层应用。因此vue的生命周期是指vue实例从创建到销毁的过程。vue所有功能的实现都是围绕其生命周期进行的,在生命周期的不同阶段用对应的钩子函数实现组件数据管理和DOM渲染俩大功能
  2. 第一次页面加载会触发哪几个钩子:

**        beforeCreate:创建实例对象之前执行,此时数据data还没有被监听,同时页面没有挂载对象data还没有被监听,同时页面没有挂载对象el;**

**        created:创建实例对象之后执行,对象实例data已有数据,但页面没有挂载对象data已有数据,但页面没有挂载对象el**

        beforeMount:页面挂载成功之前执行,数据并没有关联到$el对象上,页面没有显示页面数据;

        mounted:页面挂载成功之后执行,数据关联到$el对象上,页面可以显示页面数据;

  3、created和mounted的区别

       created:是在模板渲染成HTML调用,通常用于初始化某些属性值,然后在渲染成视图。

       mounted:在模板渲染成HTML调用,通常是初始化页面后对其HTML中的DOM元素进行操作。

  4、vue获取数据在哪个周期函数

        一般在created或beforeRouter里面即可,如需涉及到页面操作,就在mounted即可

vue路由面试题:

  1、mvvm框架是什么?

      mvvm是一个实现双向数据绑定的框架,即数据驱动视图,视图更改数据

      mvvm主要分成三个部分:

           model(数据也叫模型):指数据部分,主要负责业务数据。

           viewModel(数据模型):连接视图与数据的数据模型,负责监听model与view的修改,然后实现双向数据绑定

           view(视图):是指视图部分,即dom元素,负责视图的处理。

 2、vue-router 是什么?它有哪些组件:      

vue-router是Vue.js官方的路由插件,它和vue.js是深度集成的,适合用于构建单页面应用。vue的单页面应用是基于路由和组件的,路由用于设定访问路径,并将路径和组件映射起来。通俗来讲,vue-router就是WebApp的链接路径管理系统。

     组件:

<router-link :to='' class='active-class'>   //路由声明式跳转 ,active-class是标签被点击时的样式

<router-view>                  //渲染路由的容器

<keep-alive>                    //缓存组件

3、.active-class 是哪个组件的属性

  是router-link组件的属性,用于做选中样式的切换

4、怎么定义 vue-router 的动态路由? 怎么获取传过来的值?

   动态路由的创建,主要是使用 path 属性过程中,使用动态路径参数,以冒号开头。

   可以通过param和query俩种方式。分别以this.route.paramsthis.route.params和this.route.query来获取传过来的动态值

5、vue-router 有哪几种导航钩子?

  全局守卫:router.beforeEach

  全局解析守卫: router.beforeResolve

  全局后置钩子: router.afterEach

  单独路由独享钩子: beforeEnter

  组件内的钩子: beforeRouteEnter、beforeRouteUpdate (2.2 新增)、beforeRouteLeave

6、routeroute 和 router 的区别?