我想用管道过滤由* ngFor生成的简单列表。 这是我的相关树文件夹:
src
|_app
|_app.component.ts
|_app.module.ts
|_pages
|_home.ts
|_home.html
|_pipes
|_pipe.ts
这是我的代码:
我的pipe.ts:(只是常规的iDoNothing)
import {Pipe} from "angular2/core";
@Pipe({
name:"search"
})
export class SearchPipe{
transform(value){
return value;
}
}
我的家。(显示的唯一页面)
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { Http } from '@angular/http';
import { SearchPipe } from '../pipes/search-pipes';
import 'rxjs/add/operator/map';
@Component({
selector: 'page-home',
templateUrl: 'home.html',
pipes:[SearchPipe] //Here is where i got the error
})
export class HomePage {
posts: any;
constructor(public navCtrl: NavController, public http: Http) {
this.http.get('https://www.reddit.com/r/gifs/new/.json').map(
res => res.json()).subscribe(data => {
this.posts = data.data.children;
});
}
}
我的主页模板(home.html)
<ion-header>
<ion-navbar>
<ion-title>Home Page</ion-title>
</ion-navbar>
</ion-header>
<ion-content>
<ion-list>
<ion-item *ngFor="let post of posts | search">
<h2>{{post.data.title}}</h2>
<img [src]="post.data.url" />
</ion-item>
</ion-list>
</ion-content>
要恢复,基本上我在 pipe.ts 中声明一个管道,在 home.ts 中导入它并在 home.html 但它返回此错误:
类型的参数&#39; {selector:string; templateUrl:string;管道:任何[]; }&#39;不能分配给&#39;组件&#39;类型的参数。宾语 literal只能指定已知的属性,并且&#39;管道&#39;不存在 在类型&#39;组件&#39;。
是否有任何选项可以声明我缺少的更多@Component属性? 成功添加导入后,我可以在列表的每个项目上使用它