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

Posted

技术标签:

【中文标题】离子/角度:找不到管道“异步”【英文标题】: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 默默地传递了错误。所以尝试检查其他相关模块的导入和依赖项 【参考方案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,您需要谨慎。

【讨论】:

以上是关于离子/角度:找不到管道“异步”的主要内容,如果未能解决你的问题,请参考以下文章

找不到离子管

如何解决在离子3中实现搜索栏的管道时出现的错误(管道搜索找不到或未找到)

错误:找不到管道“异步”! AOT & IVY 更新后

如何在生产版本上升级 Angular 7 后修复“错误:模板解析错误:找不到管道‘异步’”

找不到“object”类型的不同支持对象“[object Object]”。 NgFor 仅支持绑定到 Iterables,例如带有异步管道的数组

离子找不到平台