Vue原理包括哪些?

1.组件化和MVVM
2.响应式原理
3.vdom 和 diff 算法
4.模板编译
5.组件渲染过程
6.前端路由

组件化基础

1.很久以前”的组件化
asp jsp php 已经有组件化
nodejs 中已有类似组件化
2.数据驱动视图-Vue MVVM

mvvm M☞model V☞View VM☞ViewModel
3.数据驱动视图-React setStata

Vue 响应原理

组件化data的数据一旦变化,立刻触发视图的更新
1.核心 API-Object,defineProperty用法

缺点
1.深度监听,需要递归到底 ,计算量大
2.无法监听新增属性/删除属性

虚拟DOM(virtual DOM) 和 diff

1.vdom是实现vue 和React的重要基石(vue React是数据驱动试图)
vdom可以把计算转移为js计算
vdom 用js模拟dom结构

snabbdom是一个简易的实现vdom功能的库,vdom里面有两个核心的API,一个是h函数,一个是patch函数。前者是用来生成vdom对象(vue中使用render函数,将真实的节点转换成vnode),后者是用做vdom之间的对比以及将vdom挂载到真实的dom上。vue就是因为其使用了snabbdom而有更优异的性能。
2.diff算法是vdom中最核心的
diff算法过程

比较原理:
1.只比较同一级别,不跨级比较
2.两者相同时,则认为是相同节点 ,不会深度比较
具体详情:https://www.cnblogs.com/wind-lanyan/p/9061684.html

vue面试题--vue原理相关推荐

  1. Vue面试题-Vue响应式原理

    Vue的响应式原理 数据发生改变,界面跟着更新,并不是理所当然的,Vue内部是做了很多封装的 依赖技术的分析和学习 首先,来看一个最简单的Vue响应式例子: <div id="app& ...

  2. Vue面试题 70道题目及答案

    Vue面试题 Vue.js介绍 Vue.js是一个轻巧.高性能.可组件化的MVVM库,同时拥有非常容易上手的API Vue.js是一个构建数据驱动的Web界面的库. Vue.js是一套构建用户界面的 ...

  3. dom不刷新 vue 加数据后_高频出现的Vue 面试题及答案

    前言 本文讲解高频出现的 Vue 面试题及答案. 复习前端面试的知识,是为了巩固前端的基础知识,最重要的还是平时的积累! 注意:文章的题与题之间用下划线分隔开,答案仅供参考. Vue 对 MVC.MV ...

  4. 常见的前端vue面试题

    常见的前端vue面试题 1.请讲述下VUE的MVVM的理解? MVVM 是 Model-View-ViewModel的缩写,即将数据模型与数据表现层通过数据驱动进行分离,从而只需要关系数据模型的开发, ...

  5. antd vue 树更新数据后不展开_很全面的vue面试题总结

    VUE面试题 v-show 与 v-if 区别 动态绑定class的方法 计算属性和 watch 的区别 怎样理解单向数据流 keep-alive 自定义组件的语法糖 v-model 是怎样实现的 生 ...

  6. 西安电话面试:谈谈Vue数据双向绑定原理,看看你的回答能打几分

    最近我参加了一次来自西安的电话面试(第二轮,技术面),是大厂还是小作坊我在这里按下不表,先来说说这次电面给我留下印象较深的几道面试题,这次先来谈谈Vue的数据双向绑定原理. 情景再现: 当我手机铃声响 ...

  7. vue面试题,知识点汇总(有答案)

    一. Vue核心小知识点 1.vue中 key 值的作用 key 的特殊属性主要用在 Vue的虚拟DOM算法,在新旧nodes对比时辨识VNodes.如果不使用key,Vue会使用一种最大限度减少动态 ...

  8. web开发者工具,118页Vue面试题总结,涨姿势!

    逻辑运算符 JavaScript中有三个逻辑运算符,&&与.||或.!非. JavaScript 中的逻辑运算符可用来确定变量或者是值之间的逻辑关系.通常用于布尔型值,会返回一个布尔值 ...

  9. Vue面试题汇总目录

    [Vue] [vue] vue组件里的定时器要怎么销毁? [vue] <template></template>有什么用? [vue] 你有使用过JSX吗?说说你对JSX的理解 ...

最新文章

  1. pytorch笔记: 处理inf和nan数值
  2. 西点军校最贵一课:没强大内心的人,没资格谈人生
  3. jquery获取一个table中的一行的每个td的内容
  4. 5.20打卡 equals()方法与“==”的区别
  5. 弹出VIEW.非dialog
  6. jmail组件 java_Jmail的主要参数列表
  7. 数据库流行度9月排行榜:Oracle 的老骥伏枥和 MongoDB 逆风飞扬
  8. 一条数据的HBase之旅,简明HBase入门教程3:适用场景
  9. WPF教程尝试(修正部分格式)
  10. 【10.1】python中的GIL
  11. Eclipse自动部署项目到Tomcat的webapps下的有效方法
  12. android使用lombok_Android Studio 使用Lombok
  13. 安装mysql后电脑右下角_windows安装mysql方法 mysql5.7以后的安装方法
  14. 【图论】拉普拉斯矩阵(Laplacian matrix)
  15. android 属性动画源码分析
  16. qq发送消息时变成表情
  17. Freeradius认证
  18. 论win10专业版,企业版和教育版之间自由切换的方法和密钥
  19. 每天一篇自然语言处理论文:202004
  20. 蓝桥杯C++深度优先搜索(dfs)之组队,迷宫,走方格

热门文章

  1. 图像处理基础中的数学知识及其物理意义
  2. Blender图解教程:快速K帧技巧 之 修改I键对应命令(9月21日 更新)
  3. 计算机视觉应该怎样入门?
  4. 【搜索】各种各样的搜索方法
  5. AI帮60年代老技术解决面料数字化难题,王华民团队新方法只需3分钟数据采集复刻面料真实效果...
  6. 怎么把cad图纸转换成pdf?
  7. gym.wrappers介绍
  8. Python/PHP:免费IP归属地查询接口和通过ip获取大致位置信息
  9. uniapp七牛云上传图片or视频
  10. 计算机右击没有与之关联的程序,解决Win7该文件没有与之关联的程序来执行操作错误...