Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

135
Visualizações
¿Cómo acceder a la propiedad anidada desde el selector ngrx Observable?

Definición de datos iniciales e interfaz:

 export interface IInitialData { version: { patch?: string; Version: string, build: number, }; } export const initialStateInitialData = { version: { build: 0, Version: '1', }, };

Tengo los siguientes selectores en el archivo de selectores:

 export const selectInitialDataFeature = createFeatureSelector<IInitialData>('initialData');` export const selectInitialData = createSelector( selectInitialDataFeature, initialData => { return initialData; }, ); export const selectInitialDataVersion = createSelector( selectInitialData, initialData => { return initialData.version.Version; }, );

Accediendo al segundo desde el archivo del componente:

 public version$ = this.store.select(selectInitialDataVersion);

Y del archivo de plantilla:

 [value]="version$ | async"

Esto funciona bien.

Sin embargo, lo siguiente devuelve el error "Versión de variable no resuelta"

 public initialData$ = this.store.select(selectInitialData);
 [value]="initialData$.version.Version | async"`

¿Cómo accedo a la variable version.Version de esta manera?

about 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

<ng-container *ngIf="(initialData$ | async) as myInitialData"> <my-component [value]="myInitialData.version.Version"> </my-component> </ng-container>

Está intentando acceder al valor de su Observable sin suscribirse, que en este caso, antes de usar la tubería async

O si no desea manejar eso en su plantilla html, puede hacerlo en su archivo .ts

 ngOnInit() { this.store.select(selectInitialData).subscribe( (myData) => this.initialData = myData.version.Version; ); }
 < ... ... [value]="intialData">
about 4 years ago · Santiago Trujillo Relatório

0

Debe usar la tubería asíncrona directamente después del observable, luego acceda a las propiedades:

 [value]="(initialData$ | async).version.Version"
about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda