Angularjs 为什么过滤器不适用于角度2?

Angularjs 为什么过滤器不适用于角度2?,angularjs,angular,angular2-routing,Angularjs,Angular,Angular2 Routing,我试图在Angular 2中使用管道或过滤器。我发现这个错误: zone.js@0.6.17?main=browser:484 Unhandled Promise rejection: Template parse errors: The pipe 'search' could not be found ("<div> <ul> <li [ERROR ->]*ngFor="let tt of t

我试图在Angular 2中使用
管道
或过滤器。我发现这个错误:

zone.js@0.6.17?main=browser:484 Unhandled Promise rejection: Template parse errors:
The pipe 'search' could not be found ("<div>
                <ul>
                 <li [ERROR ->]*ngFor="let tt of todoService.todo| search">
                <row-item [t]='tt'></row-item>
         "): TodoList@2:21 ; Zone: <root> ; Task: Promise.then ; Value: Error: Template parse errors:(…) Error: Template parse errors:
The pipe 'search' could not be found ("<div>
我正在使用这样的过滤器

<li *ngFor="let tt of todoService.todo| search">


您需要将管道添加到声明中

@NgModule({
  imports:      [ BrowserModule ],
  declarations: [ AppComponent,Todo,TodoList,TodoRow,TodoSearch],
  bootstrap:    [ AppComponent ]
})

export class AppModule { } 
对于
null
值,还应确保管道安全:

export class TodoSearch  implements PipeTransform{
  transform(value){
    if(!value) {
      return;
    }
    return value.filter((i) =>i.title.startsWith('s'));
  }
}

当前
@NgModule()
声明中需要添加哪些内容,以及当前
@NgModule()
的其他组件中要使用的组件、指令和管道。如果导入另一个模块以使用其中的组件、指令和管道,则无需再次将它们添加到声明中(它们应位于导入模块的导出中)。
export class TodoSearch  implements PipeTransform{
  transform(value){
    if(!value) {
      return;
    }
    return value.filter((i) =>i.title.startsWith('s'));
  }
}