初始資料定義和介面:
export interface IInitialData {
version: {
patch?: string;
Version: string,
build: number,
};
}
export const initialStateInitialData = {
version: {
build: 0,
Version: '1',
},
};
我在選擇器檔案中有以下選擇器:
export const selectInitialDataFeature = createFeatureSelector<IInitialData>('initialData');`
export const selectInitialData = createSelector(
selectInitialDataFeature,
initialData => {
return initialData;
},
);
export const selectInitialDataVersion = createSelector(
selectInitialData,
initialData => {
return initialData.version.Version;
},
);
從組件檔案訪問第二個:
public version$ = this.store.select(selectInitialDataVersion);
從模板檔案:
[value]="version$ | async"
這作業正常。
但是,以下回傳錯誤“未決議的變數版本”
public initialData$ = this.store.select(selectInitialData);
[value]="initialData$.version.Version | async"`
如何以這種方式訪問??變數 version.Version?
uj5u.com熱心網友回復:
<ng-container *ngIf="(initialData$ | async) as myInitialData">
<my-component [value]="myInitialData.version.Version">
</my-component>
</ng-container>
您試圖在Observable不訂閱的情況下訪問您的值,在這種情況下,在使用async管道之前
uj5u.com熱心網友回復:
您需要在 observable 之后直接使用異步管道,然后訪問屬性:
[value]="(initialData$ | async).version.Version"
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/389468.html
標籤:javascript 有角的 rxjs ngrx ngrx-选择器
