所谓数据驱动,也就是后台有一个model,前台有一个view,由model驱动view进行显示。
在实践过程中,我一般的思路是在某view类中保存一个对驱动model的引用,有一个fresh方法就是根据这个引用的内容进行刷新显示。只要model有改变的地方,手工调用下fresh方法就可以做到驱动view。本想这样model内容一改变,view里的内容也会跟着改变,这样无需dispatch事件,就可以做到驱动。
结果今天终于发现了一个大大的错误了!如下图所示
一旦model的更改不是直接更改model原有内存中的内容,而是重新new了一个,这个时候model指向的内存和view的引用指向的内存是不一致的!!!而fresh动作还是根据原view引用来刷新,肯定会出错,所以在不清楚model更改是直接更改还是重新new情况下,要重新把model赋值给view,更新view的引用,再fresh,切记
as学习笔记(二三)--关于数据驱动
发表于2008年7月11日 22:56:00 更新于2008年7月11日 22:56:00
评论
sshong2008年9月26日 16:15 回复
恩,这倒是一个解决方案,另外,模仿flex做一个数据绑定功能也是个好方法
过客2008年9月26日 15:50
model对象用单一实例
过客2008年9月26日 15:50
model对象用单一实例
添加评论
分类
琐碎文字 As3&Flex RIA UG English CodingArt C++ PHP Webserver E音乐盒 Unity3d C# JS&Html5 Tools mobile golang 最近发表
- golang学习之函数/方法/接口(2022年1月6日 17:50:24)
- golang学习之零值(2022年1月6日 16:38:10)
- hello, 2018(2018年1月15日 22:47:25)
- 字体类型名词解释(2015年1月18日 11:29:14)
- 获取mysql表注释以及列注释(2014年11月13日 15:56:32)
- php连接ms sql数据库的一些问题(2014年9月15日 20:32:14)
- virtualbox虚拟网络:NAT&bridge桥接网络(2014年8月25日 22:51:35)
- php图片加水印(2014年8月15日 22:50:42)
- windows查看端口占用情况(2014年7月31日 21:19:30)
- android安卓activity生命周期(2014年7月12日 10:31:47)
最近回复