Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Home page.html
<ion-header [translucent]="true">
<ion-toolbar>
<ion-title>
Directivas
</ion-title>
</ion-toolbar>
</ion-header>
<ion-content [fullscreen]="true">
<ion-header collapse="condense">
<ion-toolbar>
<ion-title size="large">Blank</ion-title>
</ion-toolbar>
</ion-header>
</ion-content>
Home page.ts
@Component({
selector: 'app-home',
templateUrl: 'home.page.html',
styleUrls: ['home.page.scss'],
})
export class HomePage {
items=[
{titulo:'Ingeniero', descripcion:'Electronico'},
{titulo:'Medico', descripcion:'Cirujano'},
{titulo:'Abogado', descripcion:'Penalista'},
];
constructor() {}
Ejercicio2 - Html
<ion-header [translucent]="true">
<ion-toolbar>
<ion-title>
Directivas
</ion-title>
</ion-toolbar>
</ion-header>
<ion-content [fullscreen]="true">
<ion-header collapse="condense">
<ion-toolbar>
<ion-title size="large">Blank</ion-title>
</ion-toolbar>
</ion-header>
<ion-card>
<ion-card-header>
<ion-card-title>No hay Registros!</ion-card-title>
</ion-card-header>
</ion-card>
</ng-template>
<ion-card-header>
<div [ngSwitch]="estado">
<p *ngSwitchCase="Ingeniero">El estado es Ingeniero</p>
<p *ngSwitchCase="Medico">El estado es Medico</p>
<p *ngSwitchCase="Abogado">El estado es Abogado</p>
<p *ngSwitchDefault>No es ningún estado conocido</p>
</div>
</ion-card-header>
</ion-content>
Home page.ts
@Component({
selector: 'app-home',
templateUrl: 'home.page.html',
styleUrls: ['home.page.scss'],
})
export class HomePage {
Mostrar:boolean;
mostrar=false;
items=[
{titulo:'Ingeniero', descripcion:'Electronico'},
{titulo:'Medico', descripcion:'Cirujano'},
{titulo:'Abogado', descripcion:'Penalista'},
];
constructor() {}
Ejercicio 3 Home.page.html
<ion-header [translucent]="true">
<ion-toolbar>
<ion-title>
Directivas
</ion-title>
</ion-toolbar>
</ion-header>
<ion-content hide-menu>
<ion-header collapse="condense">
<ion-toolbar>
<ion-title size="large">Directivas</ion-title>
</ion-toolbar>
</ion-header>
<ion-list>
<ion-button ion-item *ngFor="let item of items"
(click)="itemSelected(item)">
{{ item }}
</ion-button>
</ion-list>
</ion-content>
Home page.ts
@Component({
selector: 'app-home',
templateUrl: 'home.page.html',
styleUrls: ['home.page.scss'],
})
items = [
'Pokemon Yellow',
'Super Metroid',
'Mega Man X',
'The Legend of Zelda',
'Pac-Man',
'Super Mario World',
'Street Fighter II',
'Half Life',
'Final Fantasy VII',
];
App module.ts
@NgModule({
declarations: [
AppComponent,
HideMenuDirective,
],
imports: [BrowserModule, IonicModule.forRoot(), AppRoutingModule],
providers: [{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy
}],
bootstrap: [AppComponent],
})
export class AppModule {}
Home.page.cscs
#home.page.html{
ion-toolbar {
position:fixed;
}
.hide-header{
top: 0px;
}
.show-header{
top: 56px;
}
}
Luego en hide.menu.directiva.ts
@Directive({
selector: '[hide-menu]',
host: {
'(ionScroll)': 'handleScroll($event)'
}
})
export class HideMenuDirective {
private toolBarRef:any;
private storedScroll: number = 0;
private threshold: number = 10;
constructor(public element:ElementRef,
public renderer:Renderer2) {}
ngOnInit(){
//Con esto conseguimos referenciar la barra de navegacion mediante
su clase.
this.toolBarRef =
this.element.nativeElement.getElementsByClassName("toolbar")[0];
handleScroll(event) {
if (event.scrollTop - this.storedScroll > this.threshold) {
//al hacer scroll down hace desaparecer la barra mediante clases
this.renderer.addClass(this.toolBarRef,'hide-header');
this.renderer.removeClass(this.toolBarRef,'show-header');
} else if (event.scrollTop - this.storedScroll < 0) {
//al hacer scroll up la hace aparecer de nuevo
this.renderer.removeClass(this.toolBarRef,'hide-header');
}
//actualizmos la ultima posicion conocida del scroll proveniente
del evento
this.storedScroll = event.scrollTop;
}
}