Another Vue of NativeScript Webinar is now on YouTube
v-template

El componente <v-template> permite definir una plantilla reutilizable con componentes y/o contenido.

Propiedades

NombreTipoDescripción
ifStringLa condición mediante la cual se usará el template.
nameStringEl nombre del template (si no es especificado, se autogenera).

Uso básico

El componente <v-template> es utilizado internamente por el componente ListView para iterar los elementos de la lista.

Uso avanzado

Puedes usar el componente v-template para implementar componentes perzonalizados que requieran una o múltiples plantillas.

v-template no renderiza nada cuando es colocado dentro en un elemento. En cambio, lo que hace es agregar una propiedad llamada $templates al elemento padre. Esta propiedad $templates es una instancia de TemplateBag.

Luego, el componente v-template se registra a si mismo como un template disponible dentro de la instancia de TemplateBag del componente padre correspondiente. Cualquier instancia existente de TemplateBag en el elemento padre es reutilizada.

La clase TemplateBag

La clase TemplateBag permite registrar multiples templates y seleccionar el indicado basado en el elemento y la condición de cada template.

Los templates son almacenados como objetos, conforme a lo que indica la interfaz KeyedTemplate.

La propiedad selectorFn

La propiedad selectorFn retorna una función que acepta una solo parametro. Este parametro representa al item cuyo template es seleccionado.

Lo que hace esta función es recorrer todos los templates registrados en la instancia TemplateBag y delvolver el primero que cumple con la condición if especificada. En caso de no encontrar una coincidencia, devuelve default.

Métodos disponibles

MétodoDescripción
registerTemplate(name: String, condition: String?, scopedFn: Function): voidMayormente usado de forma interna.
Registra un template en la instancia TemplateBag.
El parametro scopedFn debe ser una función render de un scoped slot
getConditionFn(condition: String): FunctionUsado de forma interna.
Construye una función que evalua la condición dada.
getAvailable(): Array<String>Retorna una coleccion de los KeyedTemplates disponibles. (Devuelve un arreglo con los nombres de los templates)
getKeyedTemplate(name: String): KeyedTemplateRetorna el KeyedTemplate con el nombre dado.
getKeyedTemplates(): Array<KeyedTemplate>Retorna una colección de todos los KeyedTemplates registrados en la instancia TemplateBag.
patchTemplate(name: String, context: any, oldVnode: VNode?): ViewEmparcha un VNode existente, usando el context dado. Si no se provee un oldVnode, se crea una nueva instancia de View para el template especificado.
Contributors