javascript - Özel boru doğru şekilde ithal edilmedi


Bir şablon içinde bir nesnenin anahtarları üzerinde yineleme yapmam gerekiyor, bu yüzden bu özel boruyu yaptım :

import {PipeTransform, Pipe} from "@angular/core";

@Pipe({name: "keys"})
export class KeysPipe implements PipeTransform {
  transform(value: any, args?: any[]): any[] {
    return Object.keys(value);
  }
}

Ve sayfamın içinde şu şekilde içe aktarılmıştır:

import {KeysPipe} from "../../pipes/keys-pipe";
import {Component} from '@angular/core';
@Component({
  selector: 'page-history',
  templateUrl: 'history.html',
  pipes: [ KeysPipe ]
})
export class HistoryPage {}

Ama projeyi derlediğimde bu hata oluşuyor:

‘{ selector: string; templateUrl: string; pipes: typeof KeysPipe[]; }’ türündeki argüman, ‘Component’ türündeki parametreye atanamaz. Nesne sözdizimi yalnızca bilinen özellikleri belirtebilir ve ‘pipes’, ‘Component’ türünde mevcut değildir.

Fikri olan var mı? Bunu app.module.ts veya app.component.ts'de beyan etmedim. Teşekkürler.

Cevap #1

@Component() içinde artık uzun bir süredir pipes yok.

Şimdi bu

@NgModule({
  declarations: [ KeysPipe ]

Ayrıca Angular2'de enum'a göre seçim yapmayı da görün

İlgili makaleler