获取'无法找到'错误re:Angular 2 App中的自定义管道

时间:2017-04-06 21:11:22

标签: javascript angular typescript pipe

我已经在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 个答案:

答案 0 :(得分:1)

这是您的管道代码:

constructor() { }

像这样:

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

    constructor() { }

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