Компонент v-template

Компонент v-template используется для определения разметки, которая может быть переиспользована как шаблон.

Он используется внутри Компонента ListView.

Свойства

имятипописание
ifStringУсловие для использования этого шаблона.
nameStringИмя шаблона, которое будет автоматически сгенерировано или опущено.

Продвинутое использование

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

v-template ничего не отображает при размещении в шаблоне, вместо этого он добавляет свойство $templates к родительскому элементу или компоненту, который является TemplateBag, а затем регистрируется как доступный шаблон.

TemplateBag

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

Шаблоны хранятся как объекты, соответствующие интерфейсу KeyedTemplate.

Свойство selectorFn

Свойство selectorFn возвращает функцию, которая принимает единственный параметр, который должен быть элементом, шаблон которого должен быть выбран. Он пройдет через все шаблоны, зарегистрированные в TemplateBag, и вернет первый, где условие if возвращает истинное значение, и если ни один из шаблонов не соответствует ему, он вернет default.

Доступные метода

registerTemplate(name: String, condition: String?, scopedFn: Function): void

Этот метод используется для регистрации шаблонов в сущности TemplateBag. scopedFn должен быть функцией ренедера слота с ограниченной областью видимости

getConditionFn(condition: String): Function

Этот метод строит функцию, которая оценивает данное условие. Эти методы используются внутренне.

getKeyedTemplate(name: String): KeyedTemplate

Этот метод возвращает KeyedTemplate с заданным именем.

patchTemplate(name: String, context: any, oldVnode: VNode?): View

Этот метод будет исправлять существующий VNode, используя предоставленный context. Если oldVnode не предоставлен, он создаст новый экземпляр View для данного шаблона.

getAvailable(): Array

Возвращает массив доступных KeyedTemplates (возвращает массив имен шаблонов).

getKeyedTemplates(): Array

Возвращает массив всех KeyedTemplates, зарегистрированных вTemplateBag

Contributors