如何在ExtJS中重用组件?

Dan*_* T. 5 javascript extjs

我有一个像这样的ExtJS网格:

var grid = new Ext.grid.GridPanel({
    ...
});
Run Code Online (Sandbox Code Playgroud)

我希望能够重新使用这个网格,这样我就可以拥有它的多个实例,它们都是独立运行的.唯一的方法是通过使用Ext.extend,还是有另一种方式?我真的不需要扩展它,我只需要能够创建它的多个实例.

Bri*_*kau 5

如果你真的需要两个网格实例,那么就像Upper Stage所说的那样创建另一个网格实例.

如果需要在多个网格之间共享配置,可以将配置保存为单独的JS对象,然后在每次创建时将其传递给网格构造函数.

var myCfg = { ... };
var grid1 = new Ext.GridPanel(Ext.apply(myCfg, { /* other options */ }));
var grid2 = new Ext.GridPanel(Ext.apply(myCfg, { /* other options */ }));
Run Code Online (Sandbox Code Playgroud)

如果您要在应用程序或多个应用程序中重用具有特定配置的网格,那么子类可能是最好的方法.

本教程回顾了几种不同的重用功能方法,并且是一个很好的起点,可以帮助您确定最适合您需求的方法(如果您需要超出两个基本实例的内容).