Ajuda com Angular - Service e asObservable()
29/08/2023
0
Alguém consegue me ajudar.
Estou enfrentando um problema, meu componente ConfimarcaoService não está sendo inicializado corretamente por crudFormComponent.
Vou contextualizar:
CrudForm é component sem modulo (já existia no sistema, estou criando component novo para melhorias)
Precisei criar um componente para finalidades de confirmação, nisso o componente ConfirmacaoService, emite o Subject<> para CrudForm observar e executar uma ação assim que receber.
Vou compartilhar um trecho do código
_______________________________________________________________________________
confimacao.service
import { Injectable } from '@angular/core';
import {Observable, Subject} from 'rxjs';
@Injectable({
providedIn: 'root'})
export class ConfirmacaoService {
private confirmacaoCancelar: Subject<void> = new Subject<void>();
private router: any;
emitAccept(): void {
this.confirmacaoCancelar.next();
}
get onConfirmacao$(): Observable<void> {
return this.confirmacaoCancelar.asObservable();
}
________________________________________________________________________________________
crud.form.component está assim.
ngOnInit(): void {
this.onAcceptSubscription = this.confirmacaoService.onConfirmacao$.subscribe(() => {
console.log("CHEGUEI AQUI");
this.onCancelar.emit(); // Executar ação de cancelamento
});
}
Estou enfrentando um problema, meu componente ConfimarcaoService não está sendo inicializado corretamente por crudFormComponent.
Vou contextualizar:
CrudForm é component sem modulo (já existia no sistema, estou criando component novo para melhorias)
Precisei criar um componente para finalidades de confirmação, nisso o componente ConfirmacaoService, emite o Subject<> para CrudForm observar e executar uma ação assim que receber.
Vou compartilhar um trecho do código
_______________________________________________________________________________
confimacao.service
import { Injectable } from '@angular/core';
import {Observable, Subject} from 'rxjs';
@Injectable({
providedIn: 'root'})
export class ConfirmacaoService {
private confirmacaoCancelar: Subject<void> = new Subject<void>();
private router: any;
emitAccept(): void {
this.confirmacaoCancelar.next();
}
get onConfirmacao$(): Observable<void> {
return this.confirmacaoCancelar.asObservable();
}
________________________________________________________________________________________
crud.form.component está assim.
ngOnInit(): void {
this.onAcceptSubscription = this.confirmacaoService.onConfirmacao$.subscribe(() => {
console.log("CHEGUEI AQUI");
this.onCancelar.emit(); // Executar ação de cancelamento
});
}
Josimaik
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)