【MVVM介绍】 博客分类: 前端语言
程序员文章站
2024-03-20 20:39:46
...
MVVM是Model-View-ViewModel的简写。即模型-视图-视图模型。【模型】指的是后端传递的数据。 【视图】指的是所看到的页面。【视图模型】mvvm模式的核心,它是连接view和model的桥梁。 它有两个方向: 一是将【模型】转化成【视图】,即将后端传递的数据转化成所看到的页面。实现的方式是:数据绑定。 二是将【视图】转化成【模型】,即将所看到的页面转化成后端的数据。实现的方式是:DOM 事件监听。 这两个方向都实现的,我们称之为数据的双向绑定。总结:在MVVM的框架下视图和模型是不能直接通信的。 它们通过ViewModel来通信,ViewModel通常要实现一个observer观察者,当数据发生变化, ViewModel能够监听到数据的这种变化,然后通知到对应的视图做自动更新,而当用户操作视图, ViewModel也能监听到视图的变化,然后通知数据做改动,这实际上就实现了数据的双向绑定。 并且MVVM中的View 和 ViewModel可以互相通信。 MVVM优点 MVVM模式和MVC模式一样,主要目的是分离视图(View)和模型(Model),有几大优点 1. 低耦合。视图(View)可以独立于Model变化和修改,一个ViewModel可以绑定到不同的"View"上, 当View变化的时候Model可以不变,当Model变化的时候View也可以不变。 2. 可重用性。你可以把一些视图逻辑放在一个ViewModel里面,让很多view重用这段视图逻辑。 3. 独立开发。开发人员可以专注于业务逻辑和数据的开发(ViewModel),设计人员可以专注于页面设计, 使用Expression Blend可以很容易设计界面并生成xaml代码。 4. 可测试。界面素来是比较难于测试的,而现在测试可以针对ViewModel来写。 Vue就是基于MVVM模式实现的一套框架,在vue中:Model:指的是js中的数据,如对象,数组等等。 View:指的是页面视图viewModel:指的是vue实例化对象为什么说VUE是一个渐进式的javascript框架,
推荐阅读
-
短地址介绍 博客分类: 短地址
-
【MVVM介绍】 博客分类: 前端语言
-
新浪云SAE共享型数据库MySQL使用经验 博客分类: Web前端MySQL nginxwebSAE新浪云php
-
maven 构建 Google AppEngine 博客分类: web前端 mavenGoogleGAE配置管理.net
-
【SpringBoot动态加载Spring容器的类】 博客分类: 编程语言--JAVA之SpringSpring-Boot
-
【Error】Syntax error on token "Invalid Character", delete this token 博客分类: Web前端_Javascript
-
IE8 中"HTML Parsing Error:Unable to modify the parent container element before th 博客分类: Web前端_Javascript
-
Log4j2介绍和使用 博客分类: java log4j2
-
Log4j2介绍和使用 博客分类: java log4j2
-
javascript运动框架 博客分类: web前端技术JavaScript 框架JavaScript运动框架move