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
