Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

244
Vistas
¿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?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

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">
over 4 years ago · Santiago Trujillo Denunciar

0

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

 [value]="(initialData$ | async).version.Version"
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda