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练习之表单验证实现代码
Dec 14 Javascript
深入理解JavaScript作用域和作用域链
Oct 21 Javascript
JavaScript实现的图像模糊算法代码分享
Apr 22 Javascript
jQuery 过滤方法filter()选择具有特殊属性的元素
Jun 15 Javascript
吐槽一下我所了解的Node.js
Oct 08 Javascript
浅谈js中字符和数组一些基本算法题
Aug 15 Javascript
利用百度地图API获取当前位置信息的实例
Nov 06 Javascript
微信小程序 如何引入外部字体库iconfont的图标
Jan 31 Javascript
js监听html页面的上下滚动事件方法
Sep 11 Javascript
VUE引入第三方js包及调用方法讲解
Mar 01 Javascript
通过实例解析chrome如何在mac环境中安装vue-devtools插件
Jul 10 Javascript
JavaScript实现网页留言板功能
Nov 23 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无敌近乎加密方式!
2010/07/17 PHP
php遍历目录与文件夹的多种方法详解
2013/11/14 PHP
PHP编写RESTful接口
2016/02/23 PHP
php实现和c#一致的DES加密解密实例
2017/07/24 PHP
javascript 数组排序函数
2009/08/20 Javascript
jQuery 源码分析笔记(4) Ready函数
2011/06/02 Javascript
js中的屏蔽的使用示例
2013/07/30 Javascript
浅析js设置控件的readonly与enabled属性问题
2013/12/25 Javascript
整理JavaScript创建对象的八种方法
2015/11/03 Javascript
实用又漂亮的BootstrapValidator表单验证插件
2016/05/30 Javascript
jquery点击切换背景色的简单实例
2016/08/25 Javascript
基于JS实现回到页面顶部的五种写法(从实现到增强)
2016/09/03 Javascript
JavaScript 限制文本框不可输入英文单双引号的方法
2016/12/20 Javascript
详解vue.js全局组件和局部组件
2017/04/10 Javascript
webpack引入eslint配置详解
2018/01/22 Javascript
Node Puppeteer图像识别实现百度指数爬虫的示例
2018/02/22 Javascript
jQuery实现图片简单轮播功能示例
2018/08/13 jQuery
layer弹出层显示在top顶层的方法
2019/09/11 Javascript
JS数组属性去重并校验重复数据
2020/01/10 Javascript
Python 数据结构之队列的实现
2017/01/22 Python
JavaScript中的模拟事件和自定义事件实例分析
2018/07/27 Python
Python中的pathlib.Path为什么不继承str详解
2019/06/23 Python
python add_argument()用法解析
2020/01/29 Python
python脚本实现mp4中的音频提取并保存在原目录
2020/02/27 Python
浅谈opencv自动光学检测、目标分割和检测(连通区域和findContours)
2020/06/04 Python
HTML5+CSS3 实现灵动的动画 TAB 切换效果(DEMO)
2017/09/15 HTML / CSS
美国玩具公司:U.S.Toy
2018/05/19 全球购物
英国日常交易网站:Wowcher
2018/09/04 全球购物
Airbnb爱彼迎官网:成为爱彼迎房东,赚取收入
2019/03/14 全球购物
培训楼经理岗位责任制
2014/02/10 职场文书
机房搬迁方案
2014/05/01 职场文书
2019财务转正述职报告
2019/06/27 职场文书
编写python程序的90条建议
2021/04/14 Python
Windows11性能真的上涨35%? 桌面酷睿i9实测结果公开
2021/11/21 数码科技
「天才王子的赤字国家重生术」妮妮姆·拉雷粘土人开订
2022/03/21 日漫
Python+Pillow+Pytesseract实现验证码识别
2022/05/11 Python