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 相关文章推荐
js apply/call/caller/callee/bind使用方法与区别分析
Oct 28 Javascript
js利用事件的阻止冒泡实现点击空白模态框的隐藏
Jan 24 Javascript
jQuery获取选中内容及设置元素属性的方法
Jul 09 Javascript
浅谈jquery回调函数callback的使用
Jan 30 Javascript
jQuery弹层插件jquery.fancybox.js用法实例
Jan 22 Javascript
原生javascript 学习之js变量全面了解
Jul 14 Javascript
JavaScript & jQuery完美判断图片是否加载完毕
Jan 08 Javascript
AngularJs 常用的过滤器
May 15 Javascript
详解如何在微信小程序中愉快地使用sass
Jul 30 Javascript
vue 兄弟组件的信息传递的方法实例详解
Aug 30 Javascript
原生JS实现拖拽功能
Dec 16 Javascript
webpack介绍使用配置教程详解webpack介绍和使用
Jun 25 Javascript
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中取得URL的根域名的代码
2011/03/23 PHP
php中时间轴开发(刚刚、5分钟前、昨天10:23等)
2011/10/03 PHP
PHP不用递归遍历目录下所有文件的代码
2014/07/04 PHP
PHP反射机制用法实例
2014/08/28 PHP
php读取文件内容到数组的方法
2015/03/16 PHP
使用php转义输出HTML到JavaScript
2015/03/27 PHP
php基于数组函数实现关联表的编辑操作示例
2017/07/04 PHP
php集成开发环境详解
2019/09/24 PHP
Laravel 实现在Blade模版中使用全局变量代替路径的例子
2019/10/22 PHP
IE浏览器PNG图片透明效果代码
2008/09/02 Javascript
动态创建的表格单元格中的事件实现代码
2008/12/30 Javascript
Firefox下提示illegal character并出现乱码的原因
2010/03/25 Javascript
js indexOf()定义和用法
2012/10/21 Javascript
js+canvas简单绘制圆圈的方法
2016/01/28 Javascript
Vue 过渡(动画)transition组件案例详解
2017/01/22 Javascript
百度地图JavascriptApi Marker平滑移动及车头指向行径方向
2017/03/13 Javascript
浅谈针对Vue相同路由不同参数的刷新问题
2018/09/29 Javascript
vue+elementUI 复杂表单的验证、数据提交方案问题
2019/06/24 Javascript
Vue 修改网站图标的方法
2020/12/31 Vue.js
[38:38]完美世界DOTA2联赛PWL S3 access vs Rebirth 第二场 12.17
2020/12/18 DOTA
深入讲解Java编程中类的生命周期
2016/02/05 Python
Python采用Django制作简易的知乎日报API
2016/08/03 Python
Python 闭包的使用方法
2017/09/07 Python
django框架使用方法详解
2019/07/18 Python
Python如何根据时间序列数据作图
2020/05/12 Python
python Timer 类使用介绍
2020/12/28 Python
详解CSS3中强大的filter(滤镜)属性
2017/06/29 HTML / CSS
欧缇丽加拿大官方网站:Caudalie加拿大
2019/07/18 全球购物
电子狗项圈:eDog Australia
2019/12/04 全球购物
自荐信不宜过于夸大
2013/11/06 职场文书
新闻编辑专业毕业自荐书范文
2014/02/05 职场文书
信息管理应届生求职信
2014/03/07 职场文书
社区党支部公开承诺书
2015/04/29 职场文书
读后感怎么写?书写读后感的基本技巧!
2019/12/10 职场文书
Java日常练习题,每天进步一点点(38)
2021/07/26 Java/Android
DIV CSS实现网页背景半透明效果
2021/12/06 HTML / CSS