博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Vue.js中MVVM的原理和实现
阅读量:6619 次
发布时间:2019-06-25

本文共 726 字,大约阅读时间需要 2 分钟。

MVVM的理解

eafd2dfa952c8eaa6e6684f9e4f82b705c81c0c4
MVVM拆开来即为Model-View-ViewModel,有View,ViewModel,Model三部分组成。View层代表的是视图、模版,负责将数据模型转化为UI展现出来。Model层代表的是模型、数据,可以在Model层中定义数据修改和操作的业务逻辑。ViewModel层连接Model和View。

在MVVM的架构下,View层和Model层并没有直接联系,而是通过ViewModel层进行交互。ViewModel层通过双向数据绑定将View层和Model层连接了起来,使得View层和Model层的同步工作完全是自动的。因此开发者只需关注业务逻辑,无需手动操作DOM,复杂的数据状态维护交给MVVM统一来管理。在Vue.js中MVVM的体现:

4b2a5087ce338ecb20d3394ac88733a90dd99481

MVVM的原理

在不同的框架当中,MVVM实现的原理是不同的:

脏检查机制:

Angular.js就是采取的脏检查机制,当发生了某种事件(例如输入),Angular.js会检查新的数据结构和之前的数据结构是否发生来变动,来决定是否更新视图。

数据劫持

Vue.js的实现方式,对数据(Model)进行劫持,当数据变动时,数据会出发劫持时绑定的方法,对视图进行更新。

相同点

脏检查机制和数据劫持是有许多相同点的,例如,它们都有三个步骤:

  • 解析模版
  • 解析数据
  • 绑定模版与数据

实现MVVM

    
Two-way data-binding
{
{ text }}
原文发布时间为:2018年06月24日
原文作者:
村门口理发店的李师傅
本文来源: 
如需转载请联系原作者
你可能感兴趣的文章
灵活运用ISA的链接转换功能:ISA2006系列之十三
查看>>
MVC:找不到请求的 .Net Framework Data Provider
查看>>
数学建模一二
查看>>
eclipse中快捷键
查看>>
iOS / OXS LeanCloud云存储方案简单测试记录
查看>>
初尝dinnernow
查看>>
linux中生成考核用的GPT分区表结构修复案例
查看>>
综合应用WPF/WCF/WF/LINQ之三十九:实现一个简单的DataGrid之获取某格的原始(或当前)行(或列)的Index...
查看>>
SharePoint Server 2013 之一:为SharePoint启航
查看>>
UpdatePanel的妙用:Incremental Content
查看>>
羊坊店不眠夜
查看>>
让Windows CE 6.0 R2支持.NET CF 3.5
查看>>
鼠标滑过某一个图标时,提示讯息
查看>>
转载:如何运用VI编辑器进行查找替换
查看>>
Storyboard只支持iOS5.0或者以上的版本
查看>>
搜索引擎蜘蛛爬虫原理
查看>>
《孔子》观后感
查看>>
kafka备份机制——zk选举leader,leader在broker里负责备份
查看>>
PictureBox 读取图片及绘画
查看>>
MFC 的CLIST控件
查看>>