内置的管道是工作,但我想要使用的所有自定义管道是相同的错误:
the pipe ‘actStatusPipe’ could not be found
[ERROR ->]{{data.actStatus | actStatusPipe}}
我已经尝试了两种方式,在app.module的声明中声明:
app.module.ts:
import {ActStatusPipe} from '../pipe/actPipe' @NgModule({ declarations: [ AppComponent,HomePage,ActivitiesList,ActStatusPipe ],... })
或使用其他模块来声明和导出我所有的管道:
//管
import {ActStatusPipe} from "./actPipe" @NgModule({ declarations:[ActStatusPipe],imports:[CommonModule],exports:[ActStatusPipe] }) export class MainPipe{}
并将其导入到app.module中.
//pipe import {MainPipe} from '../pipe/pipe.module' @NgModule({ declarations:[...],imports:[...,MainPipe],})
但是没有一个在我的应用程序中工作.
这是我的管道代码:
import {Pipe,PipeTransform} from "@angular/core"; @Pipe({ name:'actStatusPipe' }) export class ActStatusPipe implements PipeTransform{ transform(status:any):any{ switch (status) { case 1: return "UN_PUBLISH"; case 2: return "PUBLISH"; default: return status } } }
我认为这与文件大致相同(事实上,我刚刚从文档中复制并进行了一些修改)
而我的angular2的版本是2.1.
在我的应用程序中会尝试许多可以在stackOverflow和google中搜索的解决方案,但是它们不起作用.
这让我很困惑,谢谢你的回答!
看到这是为我工作.
ActStatus.pipe.ts
import {Pipe,PipeTransform} from "@angular/core"; @Pipe({ name:'actStatusPipe' }) export class ActStatusPipe implements PipeTransform{ transform(status:any):any{ switch (status) { case 1: return "UN_PUBLISH"; case 2: return "PUBLISH"; default: return status } } }
主pipe.module.ts
import { NgModule } from '@angular/core'; import {CommonModule} from "@angular/common"; import {ActStatusPipe} from "./ActStatusPipe.pipe"; @NgModule({ declarations:[ActStatusPipe],exports:[ActStatusPipe] }) export class MainPipe{}
app.module.ts
@NgModule({ declarations: [...],imports: [...,providers: [...],bootstrap: [AppComponent] })