vue react angular对比

1.数据绑定

  1)vue

    把一个普通对象传给Vued的data选项,Vue会遍历此对象的所有属性,并使用Object.defineProperty将这些属性全部转为getter/setter。Object.defineProperty为ES5的新属性,无法模仿,所以vue不支持IE8以及更低版本浏览器的原因。用户看不到getter和setter但是vue内部做了追踪依赖,在属性被访问和修改时通知变化。每个组件都有一个watcher对象,他会在组件渲染的过程中把属性记录为依赖,之后当该属性的setter被调用时,会通知watcher重新计算,从而导致它关联的组件得以更新。

  vue异步执行dom更新,只要观察到属性变化,Vue将会开启一个队列,并缓冲在同一时间循环中发生的所有数据改变。如果同一个watcher被触发多次,只会推入一次。然后在下一个事件循环tick中,刷新队列并执行实际工作。Vue.nextTick(callback)可以在下一次dom更新完后直接调用

  2)react

    当某个组件的状态发生改变时,会以该组件为根。重新渲染整个组件树。单向数据流

  3)angular   

    在每一次像ui中绑定东西时都会往$watch队列中插入一条新的$watch,监视着model的改变。当模板加载完毕时,angular会找到每一个directive然后生成需要的$watch。当用户触发可以被angular context处理的事件时,digest循环就会被触发,digest循环会遍历所有的watch,然后询问是否有属性和值的变化,直到所有的watch都被检查过。如果至少有一个watch发生改变就会再次触发digest循环,直到所有watch都不会改变。为了防止无限循环,当循环超过十次就会抛出异常,就会抛出异常。当$digest循环结束时,DOM相应会变化

2.视图渲染

  1)vue

    vue.js不使用Virtual DOM而是使用真实的DOM作为模板,数据绑定在真实的模板上,使用依赖追踪动了多少东西改变多少东西。

  2)react

    react的渲染建立在Vitual DOM上(在内存中描述DOM树的数据结构)。当状态发生改变时,React会重新渲染Virtual DOM,在计算后给真实DOM打补丁。它不使用数据观察机制,每次更新都会重新渲染整个应用。在超大量数据的首屏渲染速度上有一定优势。因为Vue的渲染启动时做的比较多。

  3)angular 

    angular1的原理是:HTML模板将会被浏览器解析到DOM中,DOM结构成为Angular编辑器的输入。angular将会遍历DOM模板,来生成相应的ng指令,所有的指令都负责针对view来设置数据绑定。因此。NG框架是在DOM加载完成后才开始起作用的。

时间: 2024-11-05 06:26:22

vue react angular对比的相关文章

vue/react/angular开发的css架构思考

前端开发现在已经从传统的后端web多页面开发模式转向前端单页SPA开发模式,而vuejs/react/angular则是开发SPA非常优秀的前端框架.组件化开发由react最早提出,vuejs后发优势,将组件化开发贯彻到了极致.虽然spa开发由于组件式开发带来的组件重用,可维护,可扩展非常好,但是css样式的管理一直是一个令前端团队头疼的问题,特别是当页面越来越复杂,并且有多个SPA页面时如何能够让样式重用,并且可维护,可扩展并没有一个特别有效和被验证过的普适方案.本文试图总结一些css模块化在

React、Vue、Angular对比 ---- 介绍及优缺点

React 起源于 Facebook 的内部项目,用来架设 Instagram 的网站, 并于 2013年 5 月开源.React 拥有较高的性能,代码逻辑非常简单,越来越多的人已开始关注和使用它.它有以下的特性: 1.声明式设计:React采用声明范式,可以轻松描述应用. 2.高效:React通过对DOM的模拟,最大限度地减少与DOM的交互. 3.灵活:React可以与已知的库或框架很好地配合. 优点: 1. 速度快:在UI渲染过程中,React通过在虚拟DOM中的微操作来实现对实际DOM的局

vue,react,angular,windows 环境本地配置单页面应用

一.起因:项目使用VUE,和react.构建单页面应用.在nginx的环境下只有一个index.html入口.这时候默认能够访问到vue,和react 路由 配置中的首页.内部连接也能够跳转但是不能给刷新也面.刷新页面后就为变为404页面. 二.原因:nginx 在解析路径的时候:比如: localhost/a     这个路由.其实nginx 在解析路径 时候.为去root根路径下去找a文件.但是找不到.所有就会报错. 但是在单页面应用中localhost/a 其实是 VUE, 和react

主流前端框架对比:Vue.js , React, Angular.js

个人认为Vue.js的文档最恳切.我认为结合文档和遇到问题Google答案的匹配度来讲:Vue.js > ReactJS > AngularJS > Angular 2 如何使用Vue.js? 1.安装 (1)script 如果项目直接通过script加载CDN文件,代码示例如下: <script src="http://webapp.didistatic.com/static/webapp/shield/z/vue/vue/1.0.24/vue.min.js"

前端三大主流框架的对比React、Vue、Angular

前端三大主流框架的对比React.Vue.Angular React 起源于 Facebook 的内部项目,用来架设 Instagram 的网站, 并于 2013年 5 月开源.React 拥有较高的性能,代码逻辑非常简单,越来越多的人已开始关注和使用它.它有以下的特性: 1.声明式设计:React采用声明范式,可以轻松描述应用. 2.高效:React通过对DOM的模拟,最大限度地减少与DOM的交互. 3.灵活:React可以与已知的库或框架很好地配合. 优点: 1. 速度快:在UI渲染过程中,

2015前端各大框架比较(angular,vue,react,ant)

前端流行框架大比拼 angular vue react ant-design angularjs angular是个MVVM的框架.针对的是MVVM这整个事.angular的最主要的场景就是单页应用,或是有大量数据绑定的情况. 特性 双向数据绑定 ioc依赖注入 指令 上面这几点用起来确实很爽,随便指定个区域,配一个controller,然后里面的东西就都在scrope里了,确实很方便 如果各位想看,参见 https://github.com/i5ting/ionic_ninja/blob/ma

前端如何入门面对传统的html,css,js,三大框架react,vue,angular?

前端入门需要学习 A基础知识部分 1.html一些新的标签,html不仅仅包括div,span 2.css3,一些新的语法,布局,例如flex弹性布局,less,sass都是啥 3.DOM树结构,盒模型(margin,padding,border)不同浏览器层次不一样,尤其IE 4.数据交互插件,ajax,fetch,axios等等,要求自己能封装出一个ajax类,供自己用 B前端环境,软件 nodejs,npm 1.了解node,npm是干什么的,为什么前端要用这些 2.自己搜索npm官网,c

Vue, React, AngularJS, and Angular2. 我们对流行JavaScript框架们的选择

2017-08-04 前端大全 (点击上方公众号,可快速关注) 英文:ANTONI ZOLCIAK  译文:众成翻译 www.zcfy.cc/article/vue-react-angularjs-and-angular2-our-take-on-popular-javascript-frameworks-3668.html 如有好文章投稿,请点击 → 这里了解详情 一个有趣的事实是:IBM发表的2017年最值得学习的编程语言名单中,JavaScript榜上有名.这位IT巨头指出,JS在网站中惊

uni-app,vue,react,Trao之缓存类封装

uni-app,vue,react,Trao之缓存类封装 一,介绍与需求 1.1,介绍 缓存主要分为如下几个 1.LocalStorage LocalStorage是永久性的本地缓存,存储在客户端的浏览器上,除非主动删除,是不会过期的.LocalStorage采用的是键值对的方式进行存储,存储方式只能是字符串.存储内容可以用图片.json.样式.脚本等. API基本使用方法: 1.1.localStorage.setItem() 存储 1.2.localStorage.getItem() 获取数