Метод Sys.Component.create

Создает и инициализирует компонент указанного типа. Этот метод является статическим, и его можно вызывать, не создавая экземпляр класса.

aComponent.create(type, properties, events, references, element);

Параметр

Описание

type

Тип создаваемого компонента.

properties

(Необязательно) Объект JSON, описывающий свойства и их значения.

events

(Необязательно) Объект JSON, описывающий события и их обработчики.

references

(Необязательно) Объект JSON, описывающий свойства, которые являются ссылками на другие компоненты.

element

(Необязательно) Элемент DOM, к которому следует присоединить компонент.

Новый экземпляр компонента, использующего указанные параметры.

Метод create создает экземпляр компонента заданного типа. Если компонент представляет собой элемент управления или поведение, метод create присоединяет компонент к указанному элементу. Метод устанавливает любые свойства или события, передаваемые в качестве параметров, и затем вызывает метод initialize.

Создаваемый компонент должен наследоваться от класса Sys.Component напрямую или посредством наследования от класса Sys.UI.Control или Sys.UI.Behavior. Метод create следует вызывать во время события Sys.Application.init, чтобы убедиться, что создаваемый компонент будет доступен во время загрузки страницы.

Метод create также может вызываться с помощью ярлыка метода $create.

Большинство параметров этого метода являются необязательными, однако при вызове метода create необходимо включать null в качестве прототипа для любых параметров, которые не передаются. Значения параметров properties, events и references должны заключаться в фигурные скобки ({}) и иметь следующий стандартный формат JSON:

{argument: value, argument2: value, ...}

В следующем примере показан метод create, с помощью которого передаются значения для большинства параметров:

$create(MyControl, {id: 'c1', visible: true}, {click: showValue}, null, $get('button1'));

Этот метод создает экземпляр класса MyControl, устанавливает для его свойства id значение "c1", а для свойства visible — значение true. Класс содержит событие click, связанное с функцией showValue() на странице. Этот экземпляр связывается с элементом HTML DOM с идентификатором "button1". Класс не содержит свойств, ссылающихся на другие компоненты, поэтому для его параметра references установлено значение null.

ПримечаниеПримечание

Не следует вызывать метод create или ярлык метода $create из метода initialize другого компонента. Если это сделать, инициализация нового компонента будет выполнена с ошибкой. Необходимо создать новый компонент, а затем передать его в компонент верхнего уровня в качестве ссылки.

Показ: