Именование класса модели представления Aurelia

Когда в Aurelia имеет значение экспортированное имя класса модели представления? Файлы Html и JS связаны по имени, но имя класса внутри не имеет значения.

По умолчанию загрузчик захватывает первый экспортированный класс в качестве модели представления независимо от имени класса. Это нужно для распознавания суффикса «ValueConverter», но в остальном выигрывает экспорт первого класса.

Это по соглашению?


person Chi Row    schedule 17.03.2015    source источник


Ответы (1)


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

Имена экспорта имеют значение только в отношении ресурсов просмотра: пользовательских элементов, присоединенных поведений, контроллеров шаблонов и преобразователей значений. Когда вы импортируете ресурс в представление, компилятору необходимо знать, к какому типу относится этот ресурс. Вы можете предоставить эту информацию с помощью метаданных или полагаться на соглашения об именах. Итак, если класс называется FooCustomElement, он будет знать, что этот экспорт является CustomElement. То же самое для AttachedBehavior, TemplateController и ValueConverter.

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

person EisenbergEffect    schedule 17.03.2015
comment
Я должен отметить, что мы собираемся упростить поведение в ближайшее время. Таким образом, AttachedBehavior и TemplateController будут заменены на CustomAttribute. Мы собираемся добавить еще несколько параметров метаданных. - person EisenbergEffect; 17.03.2015