对比angular、和Vue机制

angular的运行就是在JavaScript context里自己实现一套环境。angular环境。在angular context里面也有一个队列。watch列表。列表里面就是那些被监听的变量、(包含数据绑定的变量,和view绑定的)。若用户改变了一个绑定数据的view没出发angular函数$apply把事件放入队列。轮循到这个时候就触发。把改变的值更新到绑定的那个变量。在调用digest函数轮循watch列表。看列表中的值是否有变动。
angular中的轮循至少两遍。第一遍轮循可能在改写DOM的时候可能会触发其他watch列表里面的变量变化,再轮循知道变量不再变化。
Vue数据绑定--数据劫持
vue.js采用的数据劫持结合发布者-订阅者的模式
通过Object.defineProperty()来劫持各个属性的getter、setter。在数据变动时发布消息给订阅者,触发相应的监听回调函数。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Vue 的一些语法和 Angular 的很相似(例如 v-if vs ng-if) 因为 Angular 是 Vu...
    LiLi原上草阅读 1,115评论 0 6
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,908评论 18 139
  • 前端这几年的技术发展很快,细分下来,主要可以分成四个方面: 开发语言技术,主要是ES6&7,coffeescrip...
    Su丶_33b0阅读 15,169评论 3 46
  • 对于批判性思维的定义有很多的分歧,教育学家、哲学家、心理学家都试图给批判性思维一个明确的定义,但是这些都是徒...
    aobing0713阅读 6,314评论 1 4
  • 时间整九点,谢东华和秘书走进了会议室。 大家好,我叫林初,女秘书开始介绍自己,是东华公司的行政文秘,这位是我们东华...
    小李黑叨阅读 213评论 0 0