首页 文章

获取'Could Not Be Found'错误:Angular 2 App中的自定义管道

提问于
浏览
1

我已经在我的Angular 2应用程序中创建了一个自定义管道 . 我使用管道的视图代码如下所示:

<div class="search-item-name">{{result.name}} <span class="search-context">{{result.type | contextualize}}</span></div>

管道文件本身如下所示:

从'@ angular / core'导入{Pipe,PipeTransform};

@Pipe({name: 'contextualize'})
export class ContextPipe implements PipeTransform {

    transform(value: string) {
       // Logic here...
        }
    }
}

但是,在我的组件视图中尝试使用它后,我收到此错误:

模板解析错误:找不到管道'contextualize'

我不清楚为什么会这样 . 我把管道放在一个共享模块中:

import { ContextPipe } from './context.pipe';
import { CapitalizePipe } from './capitalize.pipe';
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { AbbreviatePipe } from './abbreviate.pipe';

@NgModule({
  imports: [
    CommonModule
  ],
  declarations: [
    CapitalizePipe,
    AbbreviatePipe,
    ContextPipe
  ],
  exports: [
    CapitalizePipe,
    AbbreviatePipe,
    ContextPipe
  ],
})
export class SharedModule { }

然后,在根ngModule和我尝试使用此管道的组件中,我已导入该SharedModule . 但仍然出现错误 . 有什么东西我在这里俯瞰吗?

1 回答

  • 1

    这是你的管道代码:

    constructor() { }
    

    像这样:

    @Pipe({name: 'contextualize'})
    export class ContextPipe implements PipeTransform {
    
        constructor() { }
    
        transform(value: string) {
           // Logic here...
            }
        }
    }
    

相关问题