0
Ich versuche, meine eigene UrlSerializer Klasse zu implementieren, ist es das, was ich getan habe:Angular 2 - Umsetzung UrlSerializer
import { UrlSerializer,UrlTree } from '@angular/router';
export class CustomUrlSerializer implements UrlSerializer {
parse(url: string): UrlTree {
// Change plus signs to encoded spaces
url.replace("%20", '-');
// Use the default serializer that you can import to just do the
// default parsing now that you have fixed the url.
return super.parse(url)
}
serialize(tree: UrlTree): string {
// Use the default serializer to create a url and replace any spaces with + signs
return super.serialize(tree).replace("%20", '-');
}
}
Wenn ich versuche ich folgende erros zu kompilieren:
c:/xampp/htdocs/proj/src/app/custom-url-serializer.ts (11,12): 'super' can only be referenced in a derived class.
c:/xampp/htdocs/proj/src/app/custom-url-serializer.ts (16,12): 'super' can only be referenced in a derived class.
Was ist los?
UrlSerializer ist eine abstrakte Methode, jetzt bekomme ich einen Fehler, den ich nicht super verwenden kann. Wie kann ich auf den Standard-URL-Serializer zugreifen? – TheUnreal
Ah, ja, das stimmt. Sie können DefaultUrlSerializer verwenden https://angular.io/docs/ts/latest/api/router/index/DefaultUrlSerializer-class.html –
Danke! Aber wie kann ich es in meine benutzerdefinierte Klasse importieren? Es gibt keinen Konstruktor für Abstracts – TheUnreal