Как я снова использую компоненты в ExtJS?

У меня есть сетка ExtJS как так:

var grid = new Ext.grid.GridPanel({
    ...
});

Я хотел бы смочь снова использовать эту сетку так, чтобы у меня могла быть она несколько экземпляров ее что все действие независимо. Единственный путь состоит в том, чтобы сделать, это при помощи Ext.extend, или есть ли иначе? Я не должен действительно расширять его, я просто должен смочь создать несколько экземпляров его.

5
задан Daniel T. 10 February 2010 в 01:16
поделиться

4 ответа

Подобно трие является тройным деревом поиска, но тройное дерево поиска имеет преимущество использования меньшего объема памяти. О третичных деревьях поиска можно прочитать здесь , здесь и здесь . Также одним из основных документов по этой теме Джона Бентли и Роберта Седжевика является здесь . Это также говорит о сортировке последовательностей быстро, так что не откладывайте на это.

-121--1395524-

Используйте HTTP-прокси трассировки/отладки, чтобы проверить, действительно ли что-либо отправляется на сервер и какой ответ принимается, если имеется. Чарльз мой любимый и отлично работает с Flash (и все остальное HTTP). WiShark и Fiddler - другие варианты.

Чарльз http://www.xk72.com/charles/

WireShark http://www.wireshark.org/

Fiddler http://www.fiddler2.com/fiddler2/

-121--4903861-

Если действительно нужно только два экземпляра сетки, то создайте еще один, как сказал 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 */ }));

Если вы собираетесь повторно использовать сетку с определенной конфигурацией в вашем приложении или в нескольких приложениях, то подкласс может быть лучшим способом перехода.

В этом учебном пособии рассматривается несколько различных методов повторного использования функциональных возможностей, и для вас было бы хорошей отправной точкой, чтобы решить, какой подход наилучшим образом соответствует вашим потребностям (если вам нужно что-то за пределами двух базовых экземпляров).

5
ответ дан 14 December 2019 в 19:12
поделиться

Ext.Component # cloneConfig (), возможно?

0
ответ дан 14 December 2019 в 19:12
поделиться

Вы можете просто создать экземпляры новых объектов?

var anotherGrid = new Ext.grid.GridPanel({
    ...
});
0
ответ дан 14 December 2019 в 19:12
поделиться

Ext имеет достойную поддержку для создания подклассов. Это означает, что вы можете расширить стандартную сетку и создать ее экземпляр:

Foo = {};
Foo.BarGrid = function(config) {
  Foo.BarGrid.superclass.constructor.call(this, config); //call the default grid constructor
}

Ext.extend(Foo.BarGrid, Ext.grid.GridPanel, {
  //grid config
});

var grid = new Foo.BarGrid({/*minimal config*/});

Вы даже можете зарегистрировать свой собственный xtype и использовать его вместо new в нем:

Ext.reg('foobargrid', Foo.BarGrid);

var pane = new Ext.TabPanel({
  items: [{xtype: 'foobargrid'}]
});

EDIT Неправильно прочитали вопрос. Поскольку вы, очевидно, знаете о Ext.extend , совместно использующем конфигурацию, как предлагает bmoeskau, это может помочь вам.

0
ответ дан 14 December 2019 в 19:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: