Professional Documents
Culture Documents
Angular Directivas
Angular Directivas
Angular Directivas
ng g c directivas/principal
ng g c componentes/nav-bar
2
Angular
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
export class DirectivasRoutingModule { }
4
Angular
/src/app/app-routing.module.ts
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule { }
6
Angular
/src/app/directivas/resaltador-amarillo.directive.ts
@Directive({
selector: '[resaltadorAmarillo]'
})
export class ResaltadorAmarilloDirective {
@HostListener('mouseenter') onMouseEnter() {
this.resaltador('yellow');
}
@HostListener('mouseleave') onMouseLeave() {
this.resaltador('');
}
@Component({
selector: 'app-principal',
templateUrl: './principal.component.html',
styleUrls: ['./principal.component.css']
})
export class PrincipalComponent implements OnInit {
tab_active = 0;
cursos: Curso[];
constructor() {
this.cursos = [
{nombre:"Angular",nivel:"Basico",descripcion:'Framework'},
{nombre:"VueJs",nivel:"Basico",descripcion:'Library'},
{nombre:"ReadJs",nivel:"Intermedio",descripcion:'Framework'},
{nombre:"Flutter",nivel:"Basico",descripcion:'Framewrok'},
{nombre:"Python",nivel:"Avanzado",descripcion:'Lenguaje'},
];
}
ngOnInit(): void {
}
interface Curso{
nombre : string;
nivel : string;
descripcion : string;
}
8
Angular
/src/app/directivas/principal/principal.component.html
<h3>Directivas</h3>
<div class="w3-row">
<div class="w3-col s12 m12 l12">
<div class="w3-bar w3-light-grey">
<button class="w3-button w3-bar-item"
[ngClass] = "{'w3-dark-grey': tab_active == 0}"
(click)="tab_active=0" >Directiva de Componentes</button>
<button class="w3-button w3-bar-item"
[ngClass] = "{'w3-dark-grey': tab_active == 1}"
(click)="tab_active=1">Directivas estructurales</button>
<button class="w3-button w3-bar-item"
[ngClass] = "{'w3-dark-grey': tab_active == 2}"
(click)="tab_active=2">Directivas de Atributo</button>
</div>
<div class="w3-container w3-border w3-light-grey"
[ngStyle]="{'display': tab_active == 0 ? 'block': 'none'}">
<h4>contenidos de componentes : <b resaltadorAmarillo>ng generate directive
directivas/resaltador-amarillo</b> </h4>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Perspiciatis
dolorum vitae facilis aliquam sed possimus magni quis sequi deserunt veritatis animi
omnis, nihil nemo quaerat optio aut dicta accusamus cumque.</p>
<p resaltadorAmarillo>Lorem ipsum dolor sit amet, consectetur adipisicing
elit. Similique deserunt, velit porro minima vitae ratione aut voluptatem, praesentium ut
magnam quia exercitationem, provident nostrum ad unde animi id harum facere!</p>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Earum autem
corporis quisquam delectus. Illo earum necessitatibus animi laborum soluta voluptatum
dolorem possimus voluptate recusandae enim aut ratione, labore tenetur voluptates?</p>
</div>
<div class="w3-container w3-border w3-light-grey"
[ngStyle]="{'display': tab_active == 1 ? 'block': 'none'}">
<p>contenido de estructurales</p>
<ul class="w3-ul">
<li *ngFor="let curso of cursos">
{{curso.nombre}} - {{curso.nivel}}
<p *ngIf="curso.nivel=='Avanzado';else verinfo
">{{curso.descripcion}}</p>
<ng-template #verinfo>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit.
Voluptatum sit voluptates laudantium perferendis, consequatur ad rerum cum omnis
molestiae facilis, porro earum provident aperiam perspiciatis fuga non minima iusto
deserunt!</p>
</ng-template>
</li>
</ul>
</div>
<ul class="w3-ul">
<li *ngFor="let curso of cursos"
[ngClass] ="{'w3-pale-red':curso.nivel == 'Basico',
'w3-pale-blue':curso.nivel == 'Intermedio',
' w3-pale-red':curso.nivel == 'Avanzado'
}"
>
{{curso.nombre}} - {{curso.nivel}}
</li>
</ul>
</div>
</div>
</div>
10