Angular - 未找到具有名称的管道
Angular - No pipe found with name
我使用 "ng g pipe" 命令创建了一个管道。在我的代码中使用它时出现控制台错误。
代码的屏幕截图附在下面。
错误:错误 NG8004:找不到名称为 'filterByPrcName' 的管道。
filter-by-prc-name.pipe.tsConsole Error Message
product-list.component.html
您需要打开声明组件的 angular 模块,然后将其添加到声明中,并添加所需的导入。
示例:
<td>{{product.productCode | lowercase | convertToSpaces: '-' }}</td>
ERROR in src/app/products/product-list.component.html:48:61 - error
NG8004: No pipe found with name 'convertToSpaces'.
app.module.ts:
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { AppComponent } from './app.component';
import { ProductListComponent } from './products/product-list.component';
import { ConvertToSpacesPipe } from './shared/convert-to-spaces.pipe'; // <-- Add this
@NgModule({
declarations: [
AppComponent,
ProductListComponent,
ConvertToSpacesPipe // <-- Add this
],
imports: [
BrowserModule,
FormsModule
],
bootstrap: [AppComponent],
//exports: [AppComponent],
})
export class AppModule { }
转换为spaces.pipe.ts
import { Pipe, PipeTransform } from '@angular/core'
@Pipe({ name: 'convertToSpaces' })
export class ConvertToSpacesPipe implements PipeTransform {
transform(value: string, character: string): string {
return value.replace(character, ' ');
}
}
如果您的组件不在其父模块的声明数组中,您也会收到此错误。
我花了很长时间试图在修改其他人实现的代码时解决这个问题,努力研究我在 app.module.ts 中遗漏的内容,如果最新版本的 Angular 改变了一些东西,最后我发现代码库中除了app.module.ts.
还有一个'module'
当我终于弄清楚这一点并根据 的回答修改代码,包括在另一个模块而不是 app.module.ts 中进行管道声明时,它终于奏效了 - 呸!
我使用 "ng g pipe" 命令创建了一个管道。在我的代码中使用它时出现控制台错误。 代码的屏幕截图附在下面。 错误:错误 NG8004:找不到名称为 'filterByPrcName' 的管道。 filter-by-prc-name.pipe.tsConsole Error Message product-list.component.html
您需要打开声明组件的 angular 模块,然后将其添加到声明中,并添加所需的导入。
示例:
<td>{{product.productCode | lowercase | convertToSpaces: '-' }}</td>
ERROR in src/app/products/product-list.component.html:48:61 - error NG8004: No pipe found with name 'convertToSpaces'.
app.module.ts:
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { AppComponent } from './app.component';
import { ProductListComponent } from './products/product-list.component';
import { ConvertToSpacesPipe } from './shared/convert-to-spaces.pipe'; // <-- Add this
@NgModule({
declarations: [
AppComponent,
ProductListComponent,
ConvertToSpacesPipe // <-- Add this
],
imports: [
BrowserModule,
FormsModule
],
bootstrap: [AppComponent],
//exports: [AppComponent],
})
export class AppModule { }
转换为spaces.pipe.ts
import { Pipe, PipeTransform } from '@angular/core'
@Pipe({ name: 'convertToSpaces' })
export class ConvertToSpacesPipe implements PipeTransform {
transform(value: string, character: string): string {
return value.replace(character, ' ');
}
}
如果您的组件不在其父模块的声明数组中,您也会收到此错误。
我花了很长时间试图在修改其他人实现的代码时解决这个问题,努力研究我在 app.module.ts 中遗漏的内容,如果最新版本的 Angular 改变了一些东西,最后我发现代码库中除了app.module.ts.
还有一个'module'当我终于弄清楚这一点并根据