/ / ¿Reemplazar elemento personalizado con plantilla en sí (en lugar de incluirlo dentro del elemento personalizado) en Aurelia? - javascript, aurelia

¿Reemplazar elemento personalizado con plantilla propia (en lugar de incluirlo dentro del elemento personalizado) en Aurelia? - javascript, aurelia

Digamos que tengo un elemento personalizado <foo-bar></foo-bar> En lugar de representar el marcado en las etiquetas, quiero reemplazarlas para que el elemento "foo-bar" ya no sea parte del DOM. Creo que Angular hace esto a través de la propiedad transclude.

¿Hay alguna manera de hacer esto en Aurelia?

Respuestas

6 para la respuesta № 1

Necesitas usar el containerless decorador en su componente.

De la documentación "s Sección de elementos personalizados:

@containerless() - Hace que la vista del elemento se represente sin que el contenedor del elemento personalizado lo envuelva. Esto no se puede usar junto con @sync o @useShadowDOM. Tampoco se puede usar con comportamientos sustitutos.

Entonces su componente debería verse así:

import {customElement, bindable, containerless} from "aurelia-framework";

@customElement("say-hello")
@containerless()
export class SayHello {
@bindable to;

speak(){
alert(`Hello ${this.to}!`);
}
}