62,046
社区成员
发帖
与我相关
我的任务
分享
for(var i=0; i<10; ++i)
this.XX = i;
那么界面上应该看到连续变化呢?还是只看到最后的9相关的界面呢?
应该只看到最后的状态。框架帮你来控制和判断什么时候 UI 应该刷新、什么时候是你的程序修改属性但是不刷新 UI。
2. 假设某个 Autocompleted 在用户录入快速改变时相关的下拉列表对应的数据数组应该查询远程服务来刷新,你的框架应该可以有一个设置,让这个属性改变事件推迟0.5秒钟,当没有改变时才触发。
3. 假设有几个界面是根据属性X 来自动绑定、自动产生的,但是这个属性 X 其实它关联到另外两个属性 Y 和 Z,那么当 Y 或者 Z 频繁改变时,上述1应该成立,也就是说仅当 UI 需要刷新时才自动重算 X 并且自动更新绑定到 X 的那些界面。
还有一些实例我就不费劲去列举了。从这里就能看到,框架就是一些成熟的机制,几十倍地提高你的前端系统的效率。有的人之关系最基本的“概念”,似乎只要是有绑定就算是 mvc 或者 mvvm,这并没有深入实际。真正的知识点都不在皮毛。
就好象缓存系统的设计并不是说“只要是把数据放到内存就叫缓存,而是非常合理和大量地使用 CacheDependency 机制”,这个 MVVM 也是如此,它的技术就在于大量使用 V 和 数据VM 双向绑定机制时、框架能比你自己写的那一堆双向绑定MVP 代码提高几十倍效率,这时候才值得使用 MVVM。
其实说到这里你就能看出来,不深入实践框架的时候往往根本不能理解框架,只能看到最表面的那点表象。