Diferències
Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
| Ambdós costats versió prèvia Revisió prèvia | |||
| development:angular:directivas [09/02/2020 14:35] – [directiva de atributo personalizada] mate | development:angular:directivas [09/02/2020 14:46] (actual) – mate | ||
|---|---|---|---|
| Línia 61: | Línia 61: | ||
| </ | </ | ||
| + | === directiva estructural personalizada | ||
| + | <code bash>ng g[enerate] d[irective] directivas/ | ||
| + | * en contraposición a las directivas de atributo, tenemos que acceder a través del constructor a la plantilla a la que la directive puede acceder, es decir, a la pantilla que posiblemente necesitemos modificar | ||
| + | * la directiva ha de tener un parámetro de entrada (a través de **@Input**) | ||
| + | * ejemplo:< | ||
| + | <div class=" | ||
| + | < | ||
| + | <hr> | ||
| + | < | ||
| + | < | ||
| + | <p *appMult=" | ||
| + | Saludos | ||
| + | </p> | ||
| + | </ | ||
| + | </ | ||
| + | <sxh typescript> | ||
| + | import { Directive } from ' | ||
| + | |||
| + | @Directive({ | ||
| + | selector: ' | ||
| + | }) | ||
| + | |||
| + | export class MultDirective { | ||
| + | |||
| + | constructor( | ||
| + | private templateRef: | ||
| + | private viewContainer: | ||
| + | |||
| + | @Input() set appMult(numero: | ||
| + | for (let i = 0; i < numero; i++) { | ||
| + | this.viewContainer.createEmbeddedView(this.templateRef); | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | </ | ||