少侠请重新来过 - Vue学习笔记(一) - Vue是什么

vue.js是什么

vue.js是一套用于构建用户界面的渐进式框架,vue采用自底而上的增量开发设计。

vue的目标是通过尽可能简单的API实现响应的数据绑定组合视图组件

他提供了现代开发常用的高级功能:

  • 解耦视图和数据

  • 可复用的组件

  • 前端路由

  • 状态管理

  • 虚拟dom (Virtual DOM)

MVVM模式

MVVM (Model - View - ViewModel)模式由MVC模式衍生而来,当View发生变化时会自动更新到ViewModel,ViewModel发生变化时会更新View,View与ViewModel通过双向绑定建立联系:


MVVM关系

MVVM实现做法

  • 发布-订阅者模式(backbone.js)
    一般通过sub, pub的方式实现数据和视图的绑定监听,更新数据方式通常做法是 vm.set('property', value)

  • 脏值检查(angular.js)
    angular.js 是通过脏值检测的方式比对数据是否有变更,来决定是否更新视图,最简单的方式就是通过 setInterval() 定时轮询检测数据变动,angular只有在指定的事件触发时进入脏值检测

    • DOM事件
    • XHR响应事件
    • 浏览器Location变更事件
    • Timer事件(timeout , interval )
    • 执行 digest()或 apply()
  • 数据劫持: vue.js
    采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调。
    引用此文章

    Vue MVVM原理

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

推荐阅读更多精彩内容

  • 一:什么是闭包?闭包的用处? (1)闭包就是能够读取其他函数内部变量的函数。在本质上,闭包就 是将函数内部和函数外...
    xuguibin阅读 9,817评论 1 52
  • # 传智播客vue 学习## 1. 什么是 Vue.js* Vue 开发手机 APP 需要借助于 Weex* Vu...
    再见天才阅读 3,702评论 0 6
  • VUE介绍 Vue的特点构建用户界面,只关注View层简单易学,简洁、轻量、快速渐进式框架 框架VS库库,是一封装...
    多多酱_DuoDuo_阅读 2,788评论 1 17
  • vue中的MVVM模式 即Model-View-ViewModel。 Vue是以数据为驱动的,Vue自身将DOM和...
    w_zhuan阅读 283评论 0 1
  • MVVM是什么 MVVM是Model-View-ViewModel的简写。它模式是MVC—>MVP—>MVVM的进...
    浩3108阅读 6,814评论 1 6