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 相关文章推荐
用JavaScript编写COM组件的步骤
Mar 17 Javascript
转换json格式的日期为Javascript对象的函数
Jul 13 Javascript
javascript 寻找错误方法整理
Jun 15 Javascript
js实现从右向左缓缓浮出网页浮动层广告的方法
May 09 Javascript
JS实现点击登录弹出窗口同时背景色渐变动画效果
Mar 25 Javascript
基于Bootstrap和jQuery构建前端分页工具实例代码
Nov 23 Javascript
Vue仿手机qq的实例代码(demo)
Sep 08 Javascript
nginx部署访问vue-cli搭建的项目的方法
Feb 12 Javascript
vue中使用heatmapjs的示例代码(结合百度地图)
Sep 05 Javascript
基于axios 解决跨域cookie丢失的问题
Sep 26 Javascript
Vue实现移动端页面切换效果【推荐】
Nov 13 Javascript
vue实现公告栏文字上下滚动效果的示例代码
Jun 16 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根据用户语言跳转相应网页
2015/11/04 PHP
PHP调用API接口实现天气查询功能的示例
2017/09/21 PHP
Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
2017/11/14 PHP
33种Javascript 表格排序控件收集
2009/12/03 Javascript
jQuery内置的AJAX功能和JSON的使用实例
2014/07/27 Javascript
javascript实时获取鼠标坐标值并显示的方法
2015/04/30 Javascript
基于JavaScript实现通用tab选项卡(通用性强)
2016/01/07 Javascript
node.js插件nodeclipse安装图文教程
2020/10/19 Javascript
Windows环境下npm install 报错: operation not permitted, rename的解决方法
2016/09/26 Javascript
JavaScript提高加载和执行效率的方法
2017/02/03 Javascript
Vue计算属性的学习笔记
2017/03/22 Javascript
Javascript中click与blur事件的顺序详析
2017/04/25 Javascript
理顺8个版本vue的区别(小结)
2018/09/17 Javascript
JS实现字体背景跑马灯
2020/01/06 Javascript
微信小程序实现简单文字跑马灯
2020/05/26 Javascript
[10:21]2018DOTA2国际邀请赛寻真——Winstrike
2018/08/11 DOTA
[01:08:29]DOTA2-DPC中国联赛定级赛 RNG vs Aster BO3第一场 1月9日
2021/03/11 DOTA
使用python检测手机QQ在线状态的脚本代码
2013/02/10 Python
python字符串连接方法分析
2016/04/12 Python
Python中的time模块与datetime模块用法总结
2016/06/30 Python
Python 专题三 字符串的基础知识
2017/03/19 Python
Python 中pandas.read_excel详细介绍
2017/06/23 Python
Python实现的弹球小游戏示例
2017/08/01 Python
python的pip安装以及使用教程
2018/09/18 Python
Windows 8.1 64bit下搭建 Scrapy 0.22 环境
2018/11/18 Python
解决nohup执行python程序log文件写入不及时的问题
2019/01/14 Python
解决pycharm中的run和debug失效无法点击运行
2020/06/09 Python
pycharm不以pytest方式运行,想要切换回普通模式运行的操作
2020/09/01 Python
Python通过类的组合模拟街道红绿灯
2020/09/16 Python
记一次python 爬虫爬取深圳租房信息的过程及遇到的问题
2020/11/24 Python
互联网创业计划书写作技巧攻略
2014/03/23 职场文书
家长寄语大全
2014/04/02 职场文书
水利水电专业自荐信
2014/07/08 职场文书
《蟋蟀的住宅》教学反思
2016/02/17 职场文书
Windows下redis下载、redis安装及使用教程
2021/06/02 Redis
mysql 直接拷贝data 目录下文件还原数据的实现
2021/07/25 MySQL