IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> Vue面试题整理 -> 正文阅读

[JavaScript知识库]Vue面试题整理

一.什么是MVVM?

MVVM是Model-View-ViewModel的缩写,其中Model代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑;View代表UI组件,负责将数据模型转换为UI展现出来,ViewModel是一个同步View和Model的对象。

在MVVM架构下,View和Model之间没有直接联系,而是通过ViewModel进行交互。ViewModel通过双向数据绑定把View和Model层连接了起来,而View和Model之间的同步工作完全是自动的。开发者只需要关注业务逻辑,不需要关注数据状态的同步问题,复杂的数据状态维护完全由MVVM来同一管理。

二.MVVM和MVC区别?哪些场景适合?

MVVM和MVC区别不大,都是一种设计思想。
区别:
1.MVC中Controller变成了MVVM中的ViewModel,MVVM主要解决了MVC中大量的DOM操作使页面渲染性能降低,加载速度变慢,影响用户体验的问题。
2.vue是数据驱动的,通过数据来显示视图层而不是节点操作。

三.vue的优点是什么?

1.遵循MVVM模式
2.双向的数据绑定
3.本身只支持UI,可以轻松引入vue插件或其他第三方库。

扩展1.vue是什么?

Vue是一个渐进式的javascript开发框架,通过组件的开发,最后进行组件的组合,合并组件形成页面。

扩展2.Vue与其他框架对比?

1.与Angular.js区别?
相同点

1.都支持指令:内置指令和自定义指令
2.都支持过滤器:内置过滤器和自定义过滤器
3.都支持双向数据绑定

不同点

1.AngularJS学习成本高,比如增加了Dependency Injection特性,而Vue.js本身的API都比较简单、直观。
2.性能上,AngularJS依赖对数据的脏检查,所以watcher越多越慢。Vue.js使用基于依赖追踪的观察并使用异步队列更新,所有数据都是独立更新的。

小注-脏检查

一种不关心如何以及何时改变的数据,只关心在特定的检查阶段数据是否改变的数据监听技术。

2.与React区别?
相同点

1.React使用特殊的JSX语法,Vue也推崇使用.vue编写,都需要编译后使用
2.都是组件化的开发思想,组件实例可以嵌套
3.都提供合理的钩子函数,可以让开发者定制化的处理需求
4.不内置功能核心包,而是以插件的方式加载
5.在组件开发中都支持mixins特性

不同点

1.React依赖于虚拟DOM,而Vue使用的DOM模板。React的虚拟DOM会作出脏检查。
2.Vue提供了指令、过滤器等,可以非常方便,快捷的操作DOM
3.vue虚拟dom和react虚拟dom不同

扩展3-vue虚拟dom和react虚拟dom有什么不同?

vue会跟踪每一个组件的依赖关系,不需要重新渲染整个组件树。
而对于React而言,每当应用的状态被改变,全部组件都会重新渲染,所以react中会需要shouldComponentUpdate这个声明周期函数方法来进行控制。

四.组件之间传值?参考3

1.父组件向子组件传值(props)

采用的主要方法:props,即动态绑定属性,在子组件标签上绑定属性,然后在子组件中用props接收。

2.自组件向父组件传值(通过事件($emit)形式)

在子组件标签上绑定事件,在子组件中使用this.$emit来触发执行函数,并且可以传递参数,函数在父组件中执行后就可以得到传过来的参数。

3.兄弟组件、跨级之间传值(中央事件总线)

通过新建Vue实例(Bus)作为中央事件总线,需要传递数据的组件可以通过bus. e m i t 将 数 据 传 输 给 B u s , 需 要 接 收 数 据 的 组 件 可 以 通 过 b u s . emit将数据传输给Bus,需要接收数据的组件可以通过bus. emitBusbus.on来接收传给Bus的数据。

4.其他方法–ref

ref绑定在组件上,可以通过this.refs拿到组件对象,ref绑定在dom节点上,通过this.refs拿到的是原生dom节点。但这种方式过于暴力,所有组件都可以随意修改拿到的数据,所以不推荐使用。

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-07-23 10:38:28  更:2021-07-23 10:42:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/6 17:47:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码