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基础知识filter()和find()实例说明
Jul 06 Javascript
jquery如何根据值设置默认的选中项
Mar 17 Javascript
js中把JSON字符串转换成JSON对象最好的方法
Mar 21 Javascript
jquery网页回到顶部效果(图标渐隐,自写)
Jun 16 Javascript
html的DOM中document对象forms集合用法实例
Jan 21 Javascript
angularjs实现下拉列表的选中事件示例
Mar 03 Javascript
jQuery简单实现遍历单选框的方法
Mar 06 Javascript
jQuery Plupload上传插件的使用
Apr 19 jQuery
详解jquery插件jquery.viewport.js学习使用方法
Sep 08 jQuery
JS中offset和匀速动画详解
Feb 06 Javascript
es6中比较有用的7个技巧小结
Jul 12 Javascript
vue router 跳转时打开新页面的示例方法
Jul 28 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通过COM类调用组件的实现代码
2012/01/11 PHP
浅谈web上存漏洞及原理分析、防范方法(安全文件上存方法)
2013/06/29 PHP
PHP的fsockopen、pfsockopen函数被主机商禁用的解决办法
2014/07/08 PHP
php从memcache读取数据再批量写入mysql的方法
2014/12/29 PHP
PHP处理CSV表格文件的常用操作方法总结
2016/07/01 PHP
JS基于面向对象实现的拖拽库实例
2015/09/24 Javascript
JS+CSS3实现超炫的散列画廊特效
2016/07/16 Javascript
jQuery 利用$.ajax 时获取原生XMLHttpRequest 对象的方法
2016/08/25 Javascript
ionic在开发ios系统微信时键盘挡住输入框的解决方法(键盘弹出问题)
2016/09/06 Javascript
简单实现js浮动框
2016/12/13 Javascript
bootstrap fileinput 插件使用项目总结(经验)
2017/02/22 Javascript
javascript内存分配原理实例分析
2017/04/10 Javascript
angularjs性能优化的方法
2018/09/05 Javascript
Node.js中package.json中库的版本号(~和^)
2019/04/02 Javascript
基于layPage插件实现两种分页方式浅析
2019/07/27 Javascript
python将ip地址转换成整数的方法
2015/03/17 Python
Python的包管理器pip更换软件源的方法详解
2016/06/20 Python
python计算auc指标实例
2017/07/13 Python
centos6.8安装python3.7无法import _ssl的解决方法
2018/09/17 Python
Python tensorflow实现mnist手写数字识别示例【非卷积与卷积实现】
2019/12/19 Python
Python yield的用法实例分析
2020/03/06 Python
django中url映射规则和服务端响应顺序的实现
2020/04/02 Python
解决Python Matplotlib绘图数据点位置错乱问题
2020/05/16 Python
HTML5之WebGL 3D概述(下)—借助类库开发及框架介绍
2013/01/31 HTML / CSS
推荐WEB开发者最佳HTML5和CSS3代码生成器
2015/11/24 HTML / CSS
百思买美国官网:Best Buy
2016/07/28 全球购物
英国最大的纸工艺品商店:CraftStash
2018/12/01 全球购物
应届生求职信写作技巧
2013/10/24 职场文书
公务员个人自我评价分享
2013/11/06 职场文书
2014年小班元旦活动方案
2014/02/16 职场文书
生产助理岗位职责
2014/06/18 职场文书
师德师风剖析材料
2014/09/30 职场文书
保密工作整改报告
2014/11/06 职场文书
日本官方排名前10的动漫,名侦探柯南上榜,第一是一部创造历史的动漫
2022/03/18 日漫
IIS服务器中设置HTTP重定向访问HTTPS
2022/04/29 Servers
MySQL 原理与优化之Update 优化
2022/08/14 MySQL