Псевдонимы классов
Псевдоним (alias) представляет сокращенное имя класса, по которому проще обращаться к этому классу. Менеджер классов в Ext JS автоматически при обращении к псевдониму автоматически сопоставляет данный псевдоним с определенным классом. Особенно распространено употребление псевдонимов у классом графических компонентов.
Чтобы использовать псевдоним, нам надо объявить в классе свойство alias, которое и будет хранить имя псевдонима:
Ext.define('Classes.Person', { alias: 'person', name: 'Eugene', surname : 'Popov', constructor: function(name, surname) { if (name && surname) { this.name = name; this.surname = surname; } }, getinfo: function() { console.log("Полное имя : " + this.name + " " + this.surname); } });
И теперь мы сможем создавать объекты как используя полное имя класса, так и его псевдоним и оба способа будут равнозначны:
var eugene = Ext.create('person'); eugene.getinfo(); eugene = Ext.create('Classes.Person', 'Anders', 'Heilsberg'); eugene.getinfo();
Очень удобно применять псевдонимы при создании визуальных компонентов. Например, определим какой0нибудь свой простенький класс панели:
Ext.define('Person.Panel', { alias: 'widget.personpanel', extend: 'Ext.panel.Panel', title: 'Персональная панель', html : 'Новая панель' });
Здесь использовался псевдоним 'widget.personpanel', в котором префикс 'widget' указывает, что это будет визуальный компонент. И затем мы сможем на него ссылаться с помощью свойства xtype:
Ext.application({ name: 'HelloExt', launch: function() { Ext.create('Ext.container.Viewport', { layout: 'fit', items: [ { xtype: 'personpanel' }] }); } });
Здесь в качестве дочернего элемента контейнера Viewport используется класс Person.Panel, который мы получаем через свойство xtype
.