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

简介: 该文章总结了Vue 3.x面试中常见的知识点和问题,包括Vue的生命周期、核心概念、组件通信方式等方面的内容,有助于准备Vue相关技术面试。
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用;还可以用它的视图,搭配你自己设计的整个下层用。也可以函数式,都可以,它只是个轻量视图而已,只做了自己该做的事,没有做不该做的事,仅此而已。
渐进式的含义,我的理解是:没有多做职责之外的事。

相关文章
|
2月前
|
JavaScript 开发者
三个小时vue3.x从零到实战(vue3.x经典案例46个)
该文章提供了46个Vue 3.x的经典案例,通过实际代码示例帮助开发者更好地理解和运用Vue 3.x的各项功能和技术。
208 0
|
2月前
|
存储 缓存 JavaScript
三个小时vue3.x从零到实战(前)(vue3.x基础)
该文章提供了关于Vue 3.x的基础教程,覆盖了从环境搭建到基本使用的各个方面,适合Vue 3.x的初学者。
22 0
|
2月前
|
JavaScript 前端开发 开发者
三个小时vue3.x从零到实战(中)(vue3.x高级语法)
该文章深入探讨了Vue 3.x的高级语法与特性,包括混入(mixins)的使用、组件间的通信方式等,帮助开发者掌握Vue 3.x的进阶知识。
44 0
Vue3案例-todoMVC (可跟做练手)
Vue3案例-todoMVC (可跟做练手)
65 0
|
JavaScript API 开发工具
【三十天精通 Vue 3】第二天 Vue 3带来的新特性
【三十天精通 Vue 3】第二天 Vue 3带来的新特性
139 2
|
存储 JavaScript 前端开发
【三十天精通 Vue 3】 第一天 Vue 3入门指南
【三十天精通 Vue 3】 第一天 Vue 3入门指南
268 1
|
存储 JSON JavaScript
【半小时入门vue】最容易理解的vue入门方式
【半小时入门vue】最容易理解的vue入门方式
|
缓存 JavaScript 前端开发
【三十天精通Vue 3】第二十天 Vue 3的性能优化详解
【三十天精通Vue 3】第二十天 Vue 3的性能优化详解
632 0
|
JavaScript 前端开发 API
想知道Vue3与Vue2的区别?五千字教程助你快速上手Vue3!(上)
想知道Vue3与Vue2的区别?五千字教程助你快速上手Vue3!(上)
287 0
|
JavaScript API 开发者
想知道Vue3与Vue2的区别?五千字教程助你快速上手Vue3!(下)
想知道Vue3与Vue2的区别?五千字教程助你快速上手Vue3!(下)
109 0