Поэтому мне нужно создать компонент ExtJS (версия 2.3.0). Компонент представляет собой обычный HTML (стилизованный) — это заголовок.
Мой текущий подход заключается в создании пользовательского компонента следующим образом:
/**
* A ExtJS component for a header for the application
*/
Ext.ux.AppHeader = Ext.extend(Ext.Component, {
height: 32,
tpl: new Ext.Template ('<div class="title-bar"><h1>My App</h1></div>'),
onRender: function(ct) {
this.el = this.tpl.append (ct);
Ext.ux.AppHeader.superclass.onRender.apply(this, arguments);
}
});
Ext.reg('AppHeader', Ext.ux.AppHeader);
Это прекрасно работает, но я не уверен, что это "правильный" способ сделать это. Если кто-нибудь может поделиться более идиоматичным способом сделать это или способом, который лучше использует внутреннюю магию ExtJS, это было бы здорово.
Если, с другой стороны, это "правильный" способ - пусть это будет примером того, как можно.
Изменить
Я определенно старался изо всех сил с этим. Подход, который я сейчас использую, таков:
{
html: '<div class="title-bar"><h1>My App</h1></div>'
}
и определите CSS «заголовок», чтобы текст имел правильный стиль/размер, и ExtJS делает правильную вещь.