ExtJS Uncaught Type Error - нужно простое решение повторно. Обходной путь для известной проблемы

Кажется, это проблема добавления компонента в область просмотра в extjs из-за некоторой известной проблемы. Идеальным вариантом будет:

var paneltab = Ext.create('ROMLProjectAdmin.view.MainTabPanel');
Ext.getCmp('loginregister').destroy();
Ext.Viewport.add(paneltab);

Произошла ошибка:

Uncaught TypeError: Object function constructor(){
  // Opera has some problems returning from a constructor when Dragonfly isn't running. The || null seems to
  // be sufficient to stop in misbehaving. Known to be required against 10.53, 11.51 and 11.61.
  return this.constructor.apply(this, arguments) || null;
} has no method 'add'

Я нашел это в Интернете, где объясняется, что происходит, но я не совсем понимаю, как реализовать предложенное решение, используя "ссылки", так как я новичок. Я задавался вопросом, может ли кто-нибудь дать мне более простое объяснение.

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

Заранее спасибо.

Kevin

1 ответ

Решение

Ext.Viewport это просто класс, вам нужен экземпляр этого класса, чтобы добавить к нему компоненты:

Ext.create('Ext.container.Viewport', {
    id: 'myviewport'
});

var paneltab = Ext.create('ROMLProjectAdmin.view.MainTabPanel');
Ext.getCmp('loginregister').destroy();
Ext.getCmp('myviewport').add(paneltab);
Другие вопросы по тегам