三个小时vue3.x从零到实战(vue3.x面试总结)

Posted cui_yonghua

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三个小时vue3.x从零到实战(vue3.x面试总结)相关的知识,希望对你有一定的参考价值。

目录:

  1. 三个小时vue3.x从零到实战(前)(vue3.x基础)
  2. 三个小时vue3.x从零到实战(中)(vue3.x高级语法)
  3. 三个小时vue3.x从零到实战(后)(vue3.x配套工具及项目化构建)
  4. 三个小时vue3.x从零到实战(typescript的搭建、使用及资料)
  5. 三个小时vue3.x从零到实战(vue3.x经典案例46个)
  6. 三个小时vue3.x从零到实战(vue3.x面试总结)

1.什么是vue的生命周期?

Vue实例从创建到销毁的过程,就是生命周期。也就是从开始创建、初始化数据、编译模板、挂载DOM->渲染、更新->渲染、卸载等一系列过程,我们称这是Vue的生命周期。

2. Vue生命周期总共有几个阶段?

它可以总共分为8个阶段:创建前/后,载入前/后,更新前/后,销毁前/销毁后

3. 生命周期的作用是什么?

它的生命周期中有多个事件钩子,让我们在控制整个vue实例的过程时更容易形成好的逻辑。

4. 第一次页面加载会触发那几个钩子?

第一次页面加载时会触发beforeCreate,created,beforeMount,mounted

5. DOM渲染在哪个周期中就已经完成?

DOM渲染在mounted中就已经完成了

6. 生命周期钩子的一些使用方法:

  1. beforecreate:可以在加个loading事件,在加载实例是触发
  2. created:初始化完成时的事件写在这里,如在这结束loading事件,异步请求也适宜在这里调用
  3. mounted:挂载元素,获取到dom节点
  4. updated:如果对数据统一处理,在这里写上相应函数
  5. beforeDestroy:可以一个确认停止事件的确认框
  6. nextTick:更新数据后立即操作dom

7. v-show与v-if的区别?

-show是css切换,v-if是完整的销毁和重新创建, 使用频繁切换时用v-show,运行时较少改变时用v-if。

8. 开发中常用的指令有哪些?

  • v-model:一般用在表达输入,很轻松的实现表单控件和数据的双向绑定
  • v-html:更新元素的innerHTML
  • v-show与v-if:条件渲染,注意二者区别
  • v-on:click:可以简写为@click,@绑定一个事件。如果事件触发了,就可以指定事件的处理函数
  • v-for:基于源数据多次渲染元素或模板
    -v-bind:当表达式的值改变时,将其产生的连带影响,响应式地作用于DOM语法
  • v-bind:title=”msg”简写:title=“msg”

9. 路由跳转方式?

  1. router-link标签会渲染为标签,咋填template中的跳转都是这种;
  2. 另一种是编辑是导航,也就是通过js跳转比如router.push(’/home’)

10. MVVM是什么?

  • M-model,model代表数据模型,也可以在model中定义数据修改和操作的业务逻辑
  • V-view,view代表UI组件,它负责将数据模型转化为UI展现出来
  • VM-viewmodel,viewmodel监听模型数据的改变和控制视图行为、处理用户交互,简单理解就是一个同步view和model的对象,连接model和view

11. computed和watch有什么区别?

  • computed是计算属性,也就是计算值,它更多用于计算值的场景,具有缓存性,适用于计算比较消耗性能的计算场景;
  • watch用于观察props $emit或者本组件的值,当数据变化时来执行回调进行后续操作,无缓存性,页面重新渲染时值不变化也会执行

12. vue是渐进式的框架的理解?

Vue的核心的功能,是一个视图模板引擎,但这不是说Vue就不能成为一个框架。如下图所示,这里包含了Vue的所有部件,在声明式渲染(视图模板引擎)的基础上,我们可以通过添加组件系统、客户端路由、大规模状态管理来构建一个完整的框架。更重要的是,这些功能相互独立,你可以在核心功能的基础上任意选用其他的部件,不一定要全部整合在一起。可以看到,所说的“渐进式”,其实就是Vue的使用方式,同时也体现了Vue的设计的理念
在我看来,渐进式代表的含义是:主张最少。视图模板引擎
每个框架都不可避免会有自己的一些特点,从而会对使用者有一定的要求,这些要求就是主张,主张有强有弱,它的强势程度会影响在业务开发中的使用方式。
比如说,Angular,它两个版本都是强主张的,如果你用它,必须接受以下东西:
必须使用它的模块机制- 必须使用它的依赖注入- 必须使用它的特殊形式定义组件(这一点每个视图框架都有,难以避免)
所以Angular是带有比较强的排它性的,如果你的应用不是从头开始,而是要不断考虑是否跟其他东西集成,这些主张会带来一些困扰。
Vue可能有些方面是不如React,不如Angular,但它是渐进的,没有强主张,你可以在原有大系统的上面,把一两个组件改用它实现,当jQuery用;也可以整个用它全家桶开发,当Angular用;还可以用它的视图,搭配你自己设计的整个下层用。也可以函数式,都可以,它只是个轻量视图而已,只做了自己该做的事,没有做不该做的事,仅此而已。
渐进式的含义,我的理解是:没有多做职责之外的事。

以上是关于三个小时vue3.x从零到实战(vue3.x面试总结)的主要内容,如果未能解决你的问题,请参考以下文章

三个小时vue3.x从零到实战(中)(vue3.x高级语法)

三个小时vue3.x从零到实战(vue3.x经典案例46个)

三个小时vue3.x从零到实战(typescript的搭建使用及资料)

三个小时vue3.x从零到实战(后)(vue3.x配套工具及项目化构建)

Vue3.x 从零开始—— Router + Vuex + TypeScript 实战演练(上)

Vue项目实战——实现一个任务清单基于 Vue3.x 全家桶(简易版)