【发布时间】:2018-04-06 05:09:18
【问题描述】:
所以我收到了这个错误:
Template parse errors: The pipe 'orderByDateSubmitted' could not be found.
我的任何代码都是这样的:
首先,我创建了一个管道:
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'orderByDateSubmitted'
})
export class OrderByDateSubmittedPipe implements PipeTransform {
transform(array: Array<any>, args: string): Array<any> {
//sort code
}
}
然后我为此创建了一个模块:
import { NgModule } from '@angular/core';
import { CommonModule } from "@angular/common";
import { OrderByDateSubmittedPipe } from './order-by-date-submitted';
@NgModule({
imports: [CommonModule],
declarations: [OrderByDateSubmittedPipe],
exports: [OrderByDateSubmittedPipe],
})
export class OrderByDateSubmittedPipeModule {}
在我的应用模块中
import { OrderByDateSubmittedPipe } from './../pipes/order-by-date-submitted/order-by-date-submitted';
import { OrderByDateSubmittedPipeModule } from './../pipes/order-by-date-submitted/order-by-date-submitted.module';
@NgModule({
declarations: [MyApp...],
imports: [...
OrderByDateSubmittedPipeModule
],
bootstrap: [IonicApp],
entryComponents: [...],
providers: [...]
})
export class AppModule {}
我在我的一个组件中使用它,如下所示:
*ngFor="let r of reports | orderByDateSubmitted: '-date_submitted'"
但我得到了那个错误。我真的正确地导入了模块吗?还是我错过了什么?任何帮助将不胜感激。
【问题讨论】:
-
你使用管道的组件是
AppModule的一部分? -
@GünterZöchbauer 是的,它在 imports 和 entryComponents 数组中
-
组件不应该在
imports数组中。它应该在declarations数组中。entryComponents仅在动态添加组件时才需要(如ViewContainerRef.createComponent())
标签: javascript angular angular-directive angular-pipe