MVVM示例
来源:互联网 发布:c语言从入门到入坟 编辑:程序博客网 时间:2024/06/03 07:57
例子:在一个页面上通过字符串条件查询出item清单,选中一个item会在页面底部显示详细信息。
1、按照MVVM的设计理念,我们应该抛开视觉效果,首先设计ViewModel。
一个ViewModel应该不依赖View层,但是要考虑到与View层交互的数据(data)和行为方法(action)。
例子中我们需要一个字符串作为检索条件,一个ListModelList<Item>来保存查询结果,一个doSearch()方法来执行查询命令(command)。此外,我们还需要一个域来保存当前选中的item。我们可以看出,ViewModel是独立于View层的,这就意味着其他View也可以重复使用这个ViewModel。
2、ZUL页面
@id(name)@init(expression)是用于为Binder指定一个ViewModel,其中name是ViewModel的名字,expression是一个EL2.0表达式,用于指定绑定的类。
3、Converter
(1)自带的converter,直接使用名字调用:如formatNumber
(2)自定义的converter,如vm.xxx
需要在ViewModel中定义一个名为getTotalPriceConverter方法,并且返回值的类型为Conveter。
4、实现的效果图
5、匹配不同的view
MVVM设计模式的一个好处就是ViewModel是一个单一的类,它可以持有数据、动作和业务逻辑。这就意味着用户可以使用各种各样的View,只要这个View能够被应用到ViewModel上。
6、单元测试ViewModel
由于ViewModel只是一个简单的POJO,所以我们也可以在ViewModel上做单元测试,而不用管UI元素
- MVVM示例
- MVVM示例
- MVVM示例讲解
- MVVM示例讲解
- MVVM教程(二):开始MVVM示例
- 【WPF】【DevExpress】TileLayoutControl+MVVM示例
- WPF经典编程模式-MVVM示例讲解
- WPF经典编程模式-MVVM示例讲解
- WPF经典编程模式-MVVM示例讲解
- WPF经典编程模式-MVVM示例讲解
- WPF经典编程模式-MVVM示例讲解
- MVVM
- MVVM
- MVVM
- MVVM
- MVVM
- MVVM
- MVVM
- Problem Solving with algorithms and data structures using Python 翻译计划
- Window Phone推送500条限制
- 缓存地址栏参数
- Build类
- 虚惊一场(Qt错误小记)
- MVVM示例
- zTree(三)
- 一步步学习SPD2010--第四章节--创建和修改网页(5)--创建列表视图页面
- 移动设备上的劝导式设计
- 2013级C++第1周(春)项目【项目1 - 用枚举表示对称方式】
- 非阻塞JavaScript脚本加载【优化网站】
- SQL中IN和EXISTS用法的区别
- VC中的文件后缀介绍
- HTML5 Canvas如何设置阴影