码迷,mamicode.com
首页 > Web开发 > 详细

浅议ExtJS-5.0的特性

时间:2015-05-20 18:34:35      阅读:273      评论:0      收藏:0      [点我收藏+]

标签:extjs


# 采用MVVM,应用ViewModel与DataBind,声明式风格,关注点分离
# 有点像Spring框架,开发人员关注各种对象(Model,Store,View,ViewModel,ViewController),
而这些对象怎么交互和协作,统一交由ExtJS来处理
# Sencha CMD是一个命令行工具,管理一个Ext项目的生命周期。它可以创建(genenrate), 编译build, 监听watch
# 一个Model描述一个实体对象,主要包括名称,字段类型;此外还可以有数据的逻辑:如校验,类型转换等
# 一个Store通常包含Model(数据的格式),Proxy(数据怎么获取),Reader(数据怎么转换)
# 一个View通常代表一个组件(Component),如Grid, Tree, Panel, Container以及ViewPort, 这些组件均可作为View的实例
# 一个ViewModel服务于特定的View,为View提供合适的数据
# 一个ViewController服务于特定的View,为该View监听事件,在回调函数中实现业务逻辑
# View通过viewModel属性把ViewModel粘合进来,在View中可以指定bind属性,提取ViewModel中的绑定内容
# View通过controller属性把ViewController粘合进来,ViewController与View是一对一关系,
ViewController的生命周期与View是一致的,View销毁,则ViewController也随之销毁
# ExtJS5使用Ext.define(...)定义子类,使用Ext.create(...)创建实例,
这样做可以延迟并按需加载所需组件,解决框架启动时的性能,以后就不要使用new关键字来创建对象
# ExtJS5的事件监听函数中,获取当前View中其他组件的新方法,
是在目标组件上定义一个reference属性,然后监听函数使用lookupReference函数得到,这一点
比基于id属性的Ext.getCmp()更稳定, 因为你在大团队项目中无法保证id的选择不重复
比基于itemId的refs查询速度更快,因为它不经过查询,它使用的是内部注册与缓存机制
# bind动态绑定高于静态设置,比如一个Component的title,既设置有静态值,也有bind绑定,最终bind获胜
# ViewModel除了提供data属性供View进行bind之外,还提供formula属性对data进行二次构造,
类似富血对象的设计,以便让View能专注于展示结构

浅议ExtJS-5.0的特性

标签:extjs

原文地址:http://blog.csdn.net/robinsone/article/details/45872605

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!