javascript - Vlastní pipe nebyla správně importována
Musím iterovat přes klíče objektu uvnitř šablony, tak jsem vytvořil tento vlastní pipe:
import {PipeTransform, Pipe} from "@angular/core";
@Pipe({name: "keys"})
export class KeysPipe implements PipeTransform {
transform(value: any, args?: any[]): any[] {
return Object.keys(value);
}
}
A uvnitř mé stránky je to importováno následovně:
import {KeysPipe} from "../../pipes/keys-pipe";
import {Component} from '@angular/core';
@Component({
selector: 'page-history',
templateUrl: 'history.html',
pipes: [ KeysPipe ]
})
export class HistoryPage {}
Ale když stavím projekt, objeví se tato chyba:
Argument typu '{ selector: string; templateUrl: string; pipes: typeof KeysPipe[]; }' nelze přiřadit k parametru typu 'Component'. Literál objektu může specifikovat pouze známé vlastnosti a 'pipes' neexistuje v typu 'Component'.
Máte nějaký nápad? Nezaregistroval jsem to v app.module.ts ani v app.component.ts. Díky.
Odpověď č. 1
Už nějakou dobu neexistují v @Component() žádné pipes.
Teď je
@NgModule({
declarations: [ KeysPipe ]
Viz také Výběr založený na výčtu v Angular2
