Разница между конфигурацией Ext.create и xtype

99
8

Я хочу знать разницу между следующими двумя кодами, поскольку они, похоже, работают по-другому в моем приложении.

Ext.define('MyApp.view.MyView', {
extend: 'Ext.panel.Panel',
alias: 'widget.myViewContainer',

.....

});

Теперь, случай 1

Ext.define('MyApp.view.UseMyView', {
extend: 'Ext.panel.Panel',
alias: 'widget.useMyViewClass',

items : [{
title : 'New Title'
xtype : 'myViewContainer'
}]

});

Теперь, случай 2

Ext.define('MyApp.view.UseMyView', {
extend: 'Ext.panel.Panel',
alias: 'widget.useMyViewClass',

items : [{
title: 'New Title'
xtype: Ext.create('MyApp.view.MyView')
}]

});

в случае 1: я вижу название вкладки как "Новое название",
в случае 2: я вижу заголовок панели вкладок как ""

Благодарю.

спросил(а) 2014-10-02T17:05:00+04:00 6 лет назад
1
Решение
58

Опция конфигурации xtype может использоваться для оптимизации создания и рендеринга компонентов. Он служит ярлыком для полного имени компонента.

Основное отличие этого подхода заключается в следующем:

Случай 1: "MyView" не будет создан или отображен до тех пор, пока панель "UseMyView" не будет отображаться в браузере. Если панель никогда не отображается, то "MyView" никогда не будет создан и никогда не будет потреблять какие-либо ресурсы.

Случай 2: панель "MyView" будет создана сразу во время инициализации панели "UseMyView". С помощью многих добавленных компонентов этот подход может потенциально замедлить рендеринг страницы.

ответил(а) 2014-10-02T17:28:00+04:00 6 лет назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема