用户登录
用户注册

分享至

Ext JS添加子组件的误区探讨

  • 作者: n薋-堏
  • 来源: 51数据库
  • 2021-07-28
经常会有人问我,为什么我的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做开发,基本不会出现这么尴尬的情况了,因而可以将子组件做成视图,然后在控制器中将视图添加到容器中就可以了。
软件
前端设计
程序设计
Java相关