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

В то время как класс _Widget предоставляет методызаглушки, через которые можно переопределять события создания и разрушения, возникающие в течение жизненного цикла, класс _Templated, упоминавшийся ранее как предок, фактически составляет основу для определения шаблона виджета в виде разметки и использования подстановок и точек подключения для расширения его функциональных возможностей. В общем и целом это деление инструментария, которое позволяет размежевать труд дизайнера и программиста.

Большая часть работы класса _Templated связана с парсингом и подстановкой значений в файлах шаблонов. Выполнение важной части этой работы влечет за собой переопределение метода buildRendering класса _Widget, в котором выполняются все действия по применению шаблона. При работе с шаблонами используются три важных понятия:

Подстановка.
Для выполнения подстановок в шаблонах библиотека Dijit применяет модуль dojo.string, отыскивая и используя с его помощью синтаксические конструкции вида ${xxx}. Это удобно для получения передаваемых атрибутов виджетов и использования их для настройки шаблонов.

Точки подключения
Когда в шаблонном узле используется специальный атрибут dojoAttachPoint, тем самым обеспечивается возможность прямой ссылки на узел через значение атрибута.


Например, если в шаблоне появляется такой узел: ..., вы получаете возможность напрямую обратиться к нему, как this.foo (в методе postCreate или позже).

Точки событий
Как и в случае точек подключения, имеется возможность использовать специальный атрибут dojoAttachEvent, в результате чего устанавливается связь между событием DOM узла в шаблоне и методом виджета, который должен вызываться в ответ на указанное событие DOM. Например, если в шаблоне появляется такой узел: ..., метод foo виджета будет
вызываться всякий раз, когда в узле будет возникать событие onclick. Допускается объявлять несколько событий, разделяя объявления запятыми.

Подобно классу _Widget, класс _Templated вскоре будут демонстрироваться в некоторых примерах. А теперь познакомимся с ним поближе, чтобы у вас сложилось общее представление о его назначении.

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела Dojo на эту тему:
Анатомия библиотеки Dijit
Быстрое создание прототипов виджетов в разметке
Ваш первый диджит: HelloWorld
Диджит HelloWorld (Дубль 1: Основа)
Диджит HelloWorld (Дубль 2: Изменение шаблона)

Вернуться в раздел: Dojo / Анатомия Dijit и жизненный цикл