- 浏览: 2627464 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (1286)
- js-oop (2)
- js-window (10)
- js-event (19)
- js-string (37)
- js-array (27)
- js-page (4)
- js-dom (62)
- js-lang (8)
- js-number (7)
- js-platform (3)
- js-object (15)
- js-element (3)
- js-browser (7)
- js-url (6)
- js-date (10)
- css基础 (48)
- css优化 (15)
- html基础 (17)
- html标签 (19)
- js基础 (117)
- js-兼容性差异 (33)
- js引擎 (3)
- js性能 (14)
- json (6)
- jQuery源码浅析 (43)
- web mobile开发资料 (78)
- js跨域 (2)
- html5 (74)
- html5-canvas (7)
- css3 (53)
- 浏览器 (5)
- api设计学 (3)
- js-加载 (3)
- linux (37)
- 架构师 (1)
- php (2)
- self开发的脚本库--凤凰 (2)
- web应用名词 (6)
- javascript新特性翻译 (8)
- ajax (6)
- jQuery动画效果 (7)
- prototype的解读 (13)
- 优秀插件翻译 (1)
- css解决方案 (26)
- 数据库 (2)
- english daily (59)
- 浏览器内核探究 (1)
- jQuery插件介绍 (9)
- jquery基础篇 (26)
- chrome浏览器问题整理 (14)
- js选择器那些事 (3)
- 前端框架 (26)
- Firefox私有属性 (11)
- webkit私有属性集合 (17)
- 书籍推荐 (21)
- 数据结构 (1)
- 网站建设相关 (7)
- 好文翻译 (2)
- 个人作品 (3)
- kissy的解读 (4)
- css-layout(布局研究) (5)
- less研究 (1)
- YUI探究 (1)
- hash探究 (1)
- js动画 (7)
- 前端面试题 (37)
- css书写规范 (1)
- js模板引擎 (6)
- js模块化 (19)
- 编写高质量代码 (3)
- 性能探究--应用协议 (2)
- 前端图像处理 (19)
- Mac OS相关 (21)
- 正则表达式 (11)
- 离线应用相关 (0)
- 前端工具 (65)
- nodeJS (55)
- jquery优化篇 (2)
- 设计模式探究系列 (3)
- windows7 (2)
- IE10 (10)
- 微博开放平台探究 (2)
- 常用web服务接口 (1)
- 数据存储相关 (8)
- 零时文件 (2)
- jQuery Mobile (16)
- backbone (15)
- underscore (22)
- sass (11)
- android (3)
- phonegap (10)
- IE私有 (11)
- qwrap (8)
- git (14)
- chrome extensions (5)
- freemarker (11)
- angularJS (3)
- seo (2)
- markdown (3)
- css动画 (4)
- 安卓开发 (2)
- React (7)
- 活动页技术 (1)
- 网络安全 (3)
- grunt (7)
- Lo-Dash (3)
- 前端国际化 (4)
- 版本控制 (2)
- 盒模型 (4)
- 微信开发 (1)
- Mock数据工具 (1)
- sails (1)
- vim (1)
- js-color (1)
- iOS 基础 (43)
最新评论
-
jertom:
<div id="showInfo" ...
addEventListener等事件监听的参数细谈 -
乌托邦国王:
引用[u][/u]
css3动画属性系列之transform细讲移动translate -
hvang1988:
能提供附件下载吗,找不到js库,google封了访问不了
Syntaxhighlighter---代码高亮插件介绍 -
sscsacdsadcsd:
我的天 那到底是为什么function是object我看und ...
typeof func ==='function'的疑惑 -
wkjiangwk:
试了,没用,你们从不去测试。
介绍一下x-webkit-speech -------实现语音输入
最近喜欢上研究knockout,为了铺垫和提升一下基本术语吧。
MVVM模式 (简称ViewModel模式,由MVC模式发展而来)
------- Model-View-ViewModel
核心思想是将应用程序行为与用户界面相分离,增强测试的方便性,容易维护。
- Model --- 数据访问层
- View --- UI界面
- ViewModel --- 它是View的抽象,负责View与Model之间信息转换,将View的Command传送到Model
View与ViewModel连接的方式:
- Binding Data -----实现数据的传递
- Command -----实现操作的调用
- AttachBehavior -----实现控件加载过程中的操作
View省去了大量的逻辑代码,转移到了ViewModel,而是执行一些命令向其请求一个动作。相反ViewModel与Model通讯,来更新UI,实现了松耦合,提高了可测试性。
扩展阅读:
发表评论
-
js之左移运算
2014-08-25 20:09 1332左移运算: >> 把 ... -
console.trace()
2014-08-21 20:27 1026console.trace(): 追 ... -
js里面的~~
2014-08-16 19:59 1193记录一下js里面的 ~~: ... -
javascript的~ 运算符
2014-05-08 20:53 1210最近一直看到代码出现 ~ 位运算符 ... -
console的新玩法
2013-10-29 14:57 1185先看一段代码: consol ... -
Function与Object
2013-10-21 16:20 1315先看一段代码: Function in ... -
ES6系列之Number
2013-08-01 11:17 0本文记录一下es6中Number相关的方法: ... -
基础之localeCompare
2013-07-26 18:29 1495本文简单记录一下localeCompare,部分 ... -
如何获取表格的所有行
2013-07-26 20:23 1455一般简单的思路都是按tagNam ... -
getAttributeNode
2013-06-17 15:30 1251getAttributenode ... -
HTML DOM Form对象
2013-06-08 12:23 1477前言: 本文来自w3c ... -
dom的contains
2013-06-06 16:00 1183contains ... -
说说[]
2013-05-08 16:12 1288前言: 本文来自Snandy的 ... -
说说delete
2013-05-07 11:23 0var 声明的变量无法删除掉 var ... -
多搞搞函数呗
2013-04-17 10:52 0本文简单介绍几种常见函数定义的方式: ... -
计算两点之间的角度
2013-04-12 17:13 0本文解决一个需求:计算两点之间的角度! ... -
计算两点之间的距离
2013-04-12 17:09 0本文主要解决一下需求:计算给定的两 ... -
Math对象的sqrt()
2013-04-15 18:33 1351本文内容主要来自:http://www.w3s ... -
Math对象的atan2()
2013-04-19 10:08 1483本文主要来自:http://www.w3sc ... -
js基础--do/while循环
2013-04-07 16:30 1334do/while循环 语法: ...
相关推荐
最后,我们讨论MVVM模式,这是现代前端和移动应用开发的首选模式。MVVM的核心是数据绑定,它自动同步Model和View的状态。ViewModel作为数据的中介,提供用于操作Model的方法,并响应View的改变。MVVM通过减少View与...
首先,MVVM模式起源于微软的WPF框架,后来在JavaScript社区中流行起来,尤其是随着AngularJS、Vue.js等框架的兴起。在MVVM模式中,ViewModel作为中间层,负责协调Model和View之间的数据交换。双向绑定是MVVM模式中的...
### 浅谈MVP与Model-View-ViewModel(MVVM)设计模式 #### 一、MVP设计模式概述 在软件工程中,特别是在GUI应用程序开发领域,为了更好地组织代码结构和提高开发效率,设计师和开发者们发展出了多种设计模式。其中...
MVVM 开发模式浅谈MVVM项目开发中,用的比较多的就是MVC,高级一点的就会用MVVM,因为后者开发比较灵活,界面便于维护。另外一种MVP,开发中的比较少,主流的就是MVC,MVVM。个人比较偏爱MVVM,在项目中用的比较多。...
MVVM模式由Microsoft的Martin Fowler提出,强调数据绑定。MVVM的核心是ViewModel,它介于Model和View之间,提供数据转换和业务逻辑,同时也响应View的用户交互。 1. Model:在MVVM中,Model依然负责存储和管理数据...
2. 《Android应用开发:基于现代架构》:介绍高级的Android开发技术,如MVVM架构。 3. 《用户体验设计基础》:帮助学生理解并优化应用的用户体验。 通过CDIO模式,学生不仅能掌握Android手机程序设计的技术,还能...
SSR常用于React等MVVM框架的项目中,以提高SEO(搜索引擎优化)效果和用户体验。 首先,我们来理解一下SSR的工作原理。传统的客户端渲染模式下,当用户请求一个页面,服务器返回一个空的HTML结构,然后浏览器加载...
在JavaScript的MVC框架方面,常见的框架有Backbone.js、Ember.js、AngularJS(虽然AngularJS更偏向于MVW模型)、Vue.js(其核心库更倾向于MVVM模式)等。这些框架在传统MVC的基础上做了一些调整以适应JavaScript和...
在实际开发中,这一层通常会采用MVC(Model-View-Controller)或MVVM(Model-View-ViewModel)等设计模式来实现。 2. 业务逻辑层(Business Logic Layer):这一层是整个应用的核心,包含了所有的业务规则和流程。...
JavaScript框架是前端开发中不可...总结而言,JavaScript框架的选择和理解对于开发者来说至关重要,不同的框架提供了不同的设计模式和开发体验。根据项目需求和团队习惯,选择合适的框架能显著提高开发效率和代码质量。
在Vue.js中,数据驱动的实现基于MVVM(Model-View-ViewModel)设计模式。MVVM由三个主要部分构成: 1. **Model**:这是应用程序的数据模型,通常是一个JavaScript对象,包含了应用程序的状态和业务逻辑。 2. **...
在Vue.js中,监听窗口变化事件,特别是`window.resize`事件,可能会遇到一些挑战,因为Vue的MVVM模式主要是为了处理数据和视图之间的绑定,而不是直接与浏览器原生事件进行交互。Vue提供了多种方式来解决这个问题,...
首先,Vue采用的是MVVM(Model-View-ViewModel)架构模式。在Vue中,View层是DOM对象的HTML,ViewModel层是Vue实例的vm对象,而Model层则包含data、computed、methods等中的数据。当Model层的数据发生变化时,Vue的...