Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

242
Views
¿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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!