Ext JS添加子组件的误区探讨


Posted in Javascript onJune 28, 2013

经常会有人问我,为什么我的Grid不能岁窗口的变得而自动调整。了解后,发现很多人都习惯在渲染子组件的时候将Gird渲染到容器内的一个div里,而这正是问题的所在。

在Ext JS的布局系统中,能控制到的是容器的子组件,而对于渲染到容器中一个DIV的Grid,它并不知道在这容器里添加了一个Grid,当调整大小的时候,也就无法去调整Grid的大小了,而这也就是为什么Grid不会随容器的改变而改变了。

为什么那么多人喜欢使用这种方式来添加子组件呢?我想原因主要有以下两点:
1.不知道如何在容器内添加子组件,
2.习惯了使用JQuery等其他框架的开发方法,一时无法改变

第一个原因,只要是动态添加Grid,搞到很多初学者束手无策,譬如,我的Grid要从远程返回后才知道怎么创建,我怎么去拿这个脚本和添加到容器呢?笔者在学习Ext JS也犯过这样的错误,可以理解。所以,本文的作用就是来解惑的。

办法有两个:一是,使用Ajax把整个Grid(或其他组件的配置对象)加载到本地,然后使用容器的add方法就可以将组件添加到容器;一是直接使用容器的load功能,直接加载子组件并渲染,返回的数据就是子组件的配置对象。

第二个原因是习惯问题,只能自己去修正了,尽快熟悉Ext JS的开发模式就可以很容易改掉这个习惯。

如果是使用Ext JS 4的MVC做开发,基本不会出现这么尴尬的情况了,因而可以将子组件做成视图,然后在控制器中将视图添加到容器中就可以了。

Javascript 相关文章推荐
jQuery formValidator表单验证插件开源了 含API帮助、源码、示例
Aug 14 Javascript
js 键盘记录实现(兼容FireFox和IE)
Feb 07 Javascript
js 弹出菜单/窗口效果
Oct 30 Javascript
基于javascript简单实现对身份证校验
Jan 25 Javascript
js 简易版滚动条实例(适用于移动端H5开发)
Jun 26 Javascript
angular.js中解决跨域问题的三种方式
Jul 12 Javascript
Node.js 中使用 async 函数的方法
Nov 20 Javascript
AngularJS实现的根据数量与单价计算总价功能示例
Dec 26 Javascript
Node.js Buffer模块功能及常用方法实例分析
Jan 05 Javascript
Flexible.js可伸缩布局实现方法详解
Nov 13 Javascript
基于ajax实现上传图片代码示例解析
Dec 03 Javascript
详解实现vue的数据响应式原理
Jan 20 Vue.js
Javascript实现重力弹跳拖拽运动效果示例
Jun 28 #Javascript
jQuery随便控制任意div隐藏的方法
Jun 28 #Javascript
js实时获取系统当前时间实例代码
Jun 28 #Javascript
js复制到剪切板的实例方法
Jun 28 #Javascript
Javascript无阻塞加载具体方式
Jun 28 #Javascript
Extjs4 类的定义和扩展实例
Jun 28 #Javascript
JavaScript和CSS通过expression实现Table居中显示
Jun 28 #Javascript
You might like
PHP文件打开、关闭、写入的判断与执行代码
2011/05/24 PHP
PHP生成Gif图片验证码
2013/10/27 PHP
php网站被挂木马后的修复方法总结
2014/11/06 PHP
PHP图片处理之使用imagecopy函数添加图片水印实例
2014/11/19 PHP
splice slice区别
2006/10/09 Javascript
基于jquery的动态创建表格的插件
2011/04/05 Javascript
自定义jquery模态窗口插件无法在顶层窗口显示问题
2014/05/29 Javascript
BootStrap中Tab页签切换实例代码
2016/05/30 Javascript
Vue原理剖析 实现双向绑定MVVM
2017/05/03 Javascript
Angular.Js中ng-include指令的使用与实现
2017/05/07 Javascript
jquery+css实现简单的图片轮播效果
2017/08/07 jQuery
详解vue-router 路由元信息
2017/09/13 Javascript
微信小程序动态增加按钮组件
2018/09/14 Javascript
js删除对象/数组中null、undefined、空对象及空数组方法示例
2018/11/14 Javascript
BootStrap模态框闪退问题实例代码详解
2018/12/10 Javascript
layer 刷新某个页面的实现方法
2019/09/05 Javascript
Vue 实现把表单form数据 转化成json格式的数据
2019/10/29 Javascript
Angular8 实现table表格表头固定效果
2020/01/03 Javascript
连接Python程序与MySQL的教程
2015/04/29 Python
python矩阵转换为一维数组的实例
2018/06/05 Python
Selenium鼠标与键盘事件常用操作方法示例
2018/08/13 Python
python中实现控制小数点位数的方法
2019/01/24 Python
Python 仅获取响应头, 不获取实体的实例
2019/08/21 Python
python调用Matplotlib绘制分布点图
2019/10/18 Python
PyQt5+python3+pycharm开发环境配置教程
2020/03/24 Python
pandas的resample重采样的使用
2020/04/24 Python
python判断是空的实例分享
2020/07/06 Python
物流仓管员工作职责
2014/01/06 职场文书
2014大学班主任工作总结
2014/11/08 职场文书
2015年秋季运动会前导词
2015/07/20 职场文书
七年级之家长会发言稿范文
2019/09/04 职场文书
销区经理年终述职报告模板
2019/11/28 职场文书
python 提取html文本的方法
2021/05/20 Python
pytorch 6 batch_train 批训练操作
2021/05/28 Python
详解CSS中的特指度和层叠问题
2021/07/15 HTML / CSS
Linux中一对多配置日志服务器的详细步骤
2022/07/23 Servers