2017-04-06 16 views
1

我已經創建了一個自定義管道以在我的Angular 2應用程序中使用。使用管道我的視圖代碼看起來是這樣的:獲取'無法找到'錯誤重新:在Angular 2應用程序中自定義管道

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

管道文件本身看起來像這樣:

進口{管,PipeTransform}從「@角/芯」;

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

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

然而,想在我組件視圖中使用它之後,我收到此錯誤:

Template parse errors: The pipe 'contextualize' could not be found

我不清楚爲什麼是這樣的情況。我已經把管道共享模塊:

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。但仍然出現錯誤。我在這裏忽略了什麼嗎?

+0

你能請張貼一些代碼 - 在NgModule,將該管道文件,並使用管道組件? – Jim

+0

我們可以看到'@ Pipe'代碼嗎? – SrAxi

+0

上面添加了兩個文件。根模塊文件很長,所以我把它留下了。 – Muirik

回答

1

一個給你的管道代碼:

constructor() { } 

像這樣:

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

    constructor() { } 

    transform(value: string) { 
     // Logic here... 
     } 
    } 
} 
相關問題