2015-03-17 8 views
4

В Aurelia, когда имеет значение имя класса экспортируемой модели вида? Файлы Html и JS связаны по имени, но имя класса внутри не похоже.Aurelia view-model class naming

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

Это по конвенции?

ответ

10

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

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

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

+2

Я должен отметить, что мы гонг для упрощения поведения в ближайшее время. Итак, AttachedBehavior и TemplateController будут заменены на CustomAttribute. Мы также добавим еще несколько вариантов метаданных. – EisenbergEffect

 Смежные вопросы

  • Нет связанных вопросов^_^