离子/角度:找不到管道“异步”

时间:2020-10-19 08:31:57

标签: angular ionic-framework

当尝试像html一样访问可观察的holidayEntries$: Observable<HolidayEntry[]>

<ion-list lines="full" *ngFor="let holiday of holidayEntries$ | async">
    <ion-label>
        <h1>{{ holiday.author }}</h1>
    </ion-label>
</ion-list>

我总是出现以下错误:

core.js:6228错误错误:未捕获(已承诺):
错误:找不到管道“异步”!

我已经读到CommonModule可能会像在here中提到的那样丢失,但是我正在将其导入相应的.module.ts文件中。

知道我在做什么错吗?

编辑: 我的模块

@NgModule({
  imports: [
    CommonModule,
    FormsModule,
    IonicModule,
    HolidaysPageRoutingModule
  ],
  declarations: [HolidaysPage]
})
export class HolidaysPageModule {}

我的组件

@Component({
  selector: 'app-tab2',
  templateUrl: './holidays.page.html',
  styleUrls: ['./holidays.page.scss'],
})
export class HolidaysPage implements OnInit {
  currentUser$: Observable<UserVM>;
  holidayEntries$: Observable<HolidayEntry[]>;

  constructor(private readonly appStore: Store<fromApp.State>,
    private readonly holidayStore: Store<fromHoliday.State>) { 
    this.currentUser$ = appStore.select(fromAuth.selectAuthUser).pipe(
      map(user => new UserVM(user))
    );

    this.holidayEntries$ = holidayStore.select(fromHoliday.selectHolidayEntries)
  }

  loadHolidays() {
    console.log("loading holidays")
    this.holidayStore.dispatch(HolidayActions.loadHolidayRequests())
  }
}

4 个答案:

答案 0 :(得分:1)

如果未声明要加载的路径上的组件(通过声明:[]),则也会出现这种类型的错误。从功能模块中删除功能组件的声明,并添加到app.module.ts (通过声明:[])

答案 1 :(得分:0)

以某种方式弄乱了我的布线/模块,因此部分工作了。最后,其他人都正确,CommonModule没有正确导入。我建议一次又一次地检查它们,以查找不一致之处

答案 2 :(得分:0)

您想做的是

<ion-list lines="full" *ngFor="let holiday of (holidayEntries$ | async)">
    <ion-label>
        <h1>{{ holiday.author }}</h1>
    </ion-label>
</ion-list>

答案 3 :(得分:0)

我认为您可以调试最短的查找错误。
-您测试用例,看看是否可行。 holidayStore.select(fromHoliday.selectHolidayEntries).subscribe(result=>{})

  • 因为NGRX是您需要谨慎对待的BehaviourSubject。