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 相关文章推荐
Json2Template.js 基于jquery的插件 绑定JavaScript对象到Html模板中
Oct 29 Javascript
Extjs Gird 支持中文拼音排序实现代码
Apr 15 Javascript
用jQuery获取IE9下拉框默认值问题探讨
Jul 22 Javascript
jQuery extend 的简单实例
Sep 18 Javascript
Angular2从搭建环境到开发步骤详解
Oct 17 Javascript
浅析vue数据绑定
Jan 17 Javascript
详解升级react-router 4 踩坑指南
Aug 14 Javascript
浅谈node的事件机制
Oct 09 Javascript
mint-ui的search组件在键盘显示搜索按钮的实现方法
Oct 27 Javascript
Vue基于vuex、axios拦截器实现loading效果及axios的安装配置
Apr 26 Javascript
详解vue-router的导航钩子(导航守卫)
Nov 02 Javascript
如何让vue长列表快速加载
Mar 29 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批量上传的实现代码
2013/06/09 PHP
PHP之将POST数据转化为字符串的实现代码
2016/11/03 PHP
关于php开启错误提示的总结
2019/09/24 PHP
JavaScript delete操作符应用实例
2009/01/13 Javascript
JQuery 浮动导航栏实现代码
2009/08/27 Javascript
兼容IE和Firefox的javascript获取iframe文档内容的函数
2011/08/15 Javascript
你需要知道的10个最佳javascript开发实践小结
2012/04/15 Javascript
jquery更换文章内容与改变字体大小代码
2013/09/30 Javascript
js实现div弹出层的方法
2014/11/20 Javascript
JavaScript实现表格快速变色效果代码
2015/08/19 Javascript
浅谈js中的三种继承方式及其优缺点
2016/08/10 Javascript
JavaScript实现简单的日历效果
2016/09/25 Javascript
smartupload实现文件上传时获取表单数据(推荐)
2016/12/12 Javascript
vue-cli2打包前和打包后的css前缀不一致的问题解决
2018/08/24 Javascript
手挽手带你学React之React-router4.x的使用
2019/02/14 Javascript
[02:34]2016完美“圣”典风云人物:BurNIng专访
2016/12/10 DOTA
python 控制语句
2011/11/03 Python
Python实现的HTTP并发测试完整示例
2020/04/23 Python
在Django框架中设置语言偏好的教程
2015/07/27 Python
学习python可以干什么
2019/02/26 Python
Django框架自定义session处理操作示例
2019/05/27 Python
深入了解Python枚举类型的相关知识
2019/07/09 Python
对python中的*args与**kwgs的含义与作用详解
2019/08/28 Python
8段用于数据清洗Python代码(小结)
2019/10/31 Python
Django异步任务线程池实现原理
2019/12/17 Python
python字符串的index和find的区别详解
2020/06/20 Python
使用keras实现非线性回归(两种加激活函数的方式)
2020/07/05 Python
工程师必须了解的LRU缓存淘汰算法以及python实现过程
2020/10/15 Python
用Python制作音乐海报
2021/01/26 Python
HTML5+CSS3模仿优酷视频截图功能示例
2017/01/05 HTML / CSS
Marlies Dekkers内衣荷兰官方网店:荷兰奢侈内衣品牌
2020/03/27 全球购物
高中竞选班长演讲稿
2014/04/24 职场文书
2014年十一国庆节爱国演讲稿
2014/09/23 职场文书
正规借条模板
2015/05/26 职场文书
每日六道java新手入门面试题,通往自由的道路
2021/06/30 Java/Android
Windows和Linux上部署Golang并运行程序
2022/04/22 Servers