如何在Ionic2 - A2项目中使用自定义管道?

时间:2017-04-12 15:33:55

标签: angular filter ionic2 pipe

我想用管道过滤由* 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属性? 成功添加导入后,我可以在列表的每个项目上使用它

0 个答案:

没有答案