Псевдонимы классов

Псевдоним (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.

    Поддержать сайт на родительском проекте КГБ