Componente para paginação em angular 6
Estou fazendo assim:
**paginacao.service.ts**
**paginacao.component.ts**
/**
* variáveis de paginação
*/
**paginacao.component.html**
A variável nunca é atualizada, mesmo o serviço trazer o valor, conforme imagem:
Se preencho valor assim:
Funciona, mas se o valor vier pelo servico, conforme imagem, não funciona. O que pode ser ?
**paginacao.service.ts**
import { Injectable, EventEmitter } from '@angular/core';
@Injectable({
providedIn: 'root'
})
export class PaginacaoService {
public static modelo = new EventEmitter<any>();
public static primeiraPagina = new EventEmitter<any>();
public static paginaAnterior = new EventEmitter<any>();
public static proximaPagina = new EventEmitter<any>();
public static ultimaPagina = new EventEmitter<any>();
public static paginaAtual = new EventEmitter<any>();
public static totalPagina = new EventEmitter<any>();
public static totalRegistros = new EventEmitter<any>();
}
**paginacao.component.ts**
import { Component, OnInit } from '@angular/core';
import { PaginacaoService } from '../../../service/paginacao/paginacao.service';
@Component({
selector: 'app-paginacao',
templateUrl: './paginacao.component.html',
styleUrls: ['./paginacao.component.css']
})
export class PaginacaoComponent implements OnInit {
/**
* variáveis de paginação
*/
public totalPagina: number;
public totalRegistros: number;
public paginaAtual: number;
public modelo: any;
constructor(
protected paginacaoService: PaginacaoService
) {}
ngOnInit() {
this.preencherVariaveisComponente();
}
private preencherVariaveisComponente() {
PaginacaoService.paginaAtual.subscribe(
paginaAtual => {
this.paginaAtual = paginaAtual;
}
);
}
}
**paginacao.component.html**
Página <b>{}</b> de <b>{}</b> -
Total de Registros: <b>{}</b>
A variável nunca é atualizada, mesmo o serviço trazer o valor, conforme imagem:
<img src="http://www.guj.com.br/uploads/default/original/3X/4/5/4564a54bd0945e1954304613baf9c66531f293ce.png" />
Se preencho valor assim:
this.paginaAtual = 1;
PaginacaoService.paginaAtual.subscribe(
paginaAtual => {
this.paginaAtual = paginaAtual;
}
);
Funciona, mas se o valor vier pelo servico, conforme imagem, não funciona. O que pode ser ?
Guilherme Lopes
Curtidas 0