【问题标题】:Ionic/Angular: The pipe 'async' could not be found离子/角度:找不到管道“异步”
【发布时间】:2021-02-02 00:25:07
【问题描述】:

当尝试访问 html 中的 observable 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 ERROR 错误:未捕获(承诺中):
错误:找不到管道“异步”!

我读到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())
  }
}

【问题讨论】:

  • 你使用的是什么版本的 Angular
  • 你能展示你的组件的(基本)代码吗?不需要所有方法,只需要类声明和构造函数。还有声明组件的 NgModule。
  • @DTul 版本 9.1.6
  • @MarcSances 更新了我的问题。我还使用 NgRx Effect 来加载数据。但这是否会以任何方式影响管道错误?
  • 根据我的经验,当其他部分出现问题时也会出现错误。看起来 Angular Ivy 默默地传递了错误。所以尝试检查其他相关模块的导入和依赖项

标签: angular ionic-framework


【解决方案1】:

如果您正在加载的路由上的组件未声明(通过声明:[]),那么您也会收到此类错误。从功能模块中删除功能组件的声明并添加到 app.module.ts (通过声明:[])

【讨论】:

    【解决方案2】:

    你想要做的却是

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

    【讨论】:

      【解决方案3】:

      我认为你可以调试最短查找错误。
      - 你测试用例看看它是否有效。 holidayStore.select(fromHoliday.selectHolidayEntries).subscribe(result=&gt;{})

      • 因为 NGRX 是 BehaviourSubject,您需要谨慎。

      【讨论】:

        猜你喜欢
        • 2021-07-08
        • 2017-01-30
        • 1970-01-01
        • 2021-05-22
        • 2020-08-29
        • 2021-10-19
        • 2019-04-10
        • 2016-09-05
        • 1970-01-01
        相关资源
        最近更新 更多