Anfangs fand: Angular2: custom pipe could not be found dies nicht mir auf jeden Fall geholfen haben .. ich folgendes Problem:Angular 2 benutzerdefinierte Rohr nicht
Rohr:
import { Pipe, PipeTransform } from "@angular/core";
import { DecimalPipe} from "@angular/common";
@Pipe({
name: "ToNumberPipe"
})
export class ToNumberPipe extends DecimalPipe implements PipeTransform {
// this allows to pass strings in decimalpipes as well and do nothing if it NAN
public transform(value: string, args: string): any {
const retNumber = Number(value);
if (isNaN(retNumber)) {
return value;
}
return super.transform(value, args);
}
}
App: Modul
@NgModule(
{
// all components, pipes and directive which are using this module
declarations: [AppComponent, ... all Components go here],
// All modules like forms or http
imports: [...., MainPipeModule],
// all services and other providers
providers: [...all services go here],
bootstrap: [AppComponent]
}
)
export class AppModule {
}
Rohrmodul
import { NgModule } from "@angular/core";
import {CommonModule} from "@angular/common";
import {ToNumberPipe} from "./shared/pipes/customNumber.pipe";
@NgModule(
{
// all components, pipes and directive which are using this module
declarations: [ToNumberPipe],
imports: [CommonModule],
exports: [ToNumberPipe]
})
export class MainPipeModule {
}
Html-Code
<span [ngClass]="getClass(rowValue)" class="badge isLink" (click)="selectTask(rowValue.taskId)">{{rowValue.value | ToNumberPipe : "1.0-4"}}</span>
Ich versuchte, das Rohr direkt an den app.module, aber mit dem gleichen Ergebnis zu addieren ...
zone.js:1 Unhandled Promise rejection: Template parse errors:
The pipe 'ToNumberPipe' could not be found
Auch habe ich versucht, die Argumente und fügen Sie ein einfaches Rohr zu entfernen auch ... immer der gleiche Fehler
Angular 2 Version: 2.2.4
Welche Komponente enthält den Code, der die Pipe verwendet? Zu welchem 'NgModul' gehört diese Komponente? –
Alle Komponenten befinden sich in derselben app.module-Datei. Bevor ich es in einige Module aufgeteilt habe und dachte, es könnte ein Problem mit den verschiedenen Modulen sein. Es hat aber nicht geholfen, alle Teile der App in einem Modul zu verschieben. –