2016-10-29 2 views
0

genannt werden. Ich verwende sanitizer.bypassSecurityTrustUrl, um Links zu blobURLs auf der Seite zu setzen. Das funktioniert gut, solange ich das Projekt nicht kompiliere.Die Klasse hat oder verwendet den Namen 'SafeUrl' von einem externen Modul, kann aber nicht

import {DomSanitizer} from '@angular/platform-browser'; 

export class AppComponent { 
    constructor(private sanitizer: DomSanitizer) { 
    } 

    sanitize(url: string) { 
    return this.sanitizer.bypassSecurityTrustUrl(url); 
    } 
} 

Die sanitize Funktion nimmt eine URL wie folgt aus:

blob:http://localhost:4200/7c1d7221-aa0e-4d98-803d-b9be6400865b 

Wenn ich AoT Kompilation verwende ich diese Fehlermeldung:

Module build failed: Error: /.../src/app/app.component.ts (18,3): Return type of public method from exported class has or is using name 'SafeUrl' from external module "/.../node_modules/@angular/platform-browser/src/security/dom_sanitization_service" but cannot be named.)

Ich bin mit kantigem 2.1 CLI verwenden. 0

Weiß jemand, wie ich dieses Problem umgehen kann? Oder sollte es als ein Fehler gemeldet werden?

Antwort

4

So scheint es, ich hatte einen Rückgabetyp SafeUrl das Verfahren

sanitize(url: string):SafeUrl { 
    return this.sanitizer.bypassSecurityTrustUrl(url); 
    } 

Big dank alxhub

0

In meinem Fall hinzufügen i wurde ein Attribut wie folgt initiiert:

public img64 = this.domSanitizer.bypassSecurityTrustResourceUrl('data:image/jpg;base64,' + this.base64Image); 

Ergebnis in demselben Fehler.

Dank @mottosson ich es richtig verstanden habe (nur die Art SafeUrl hinzufügen):

public img64: SafeUrl = this.domSanitizer.bypassSecurityTrustResourceUrl('data:image/jpg;base64,' + this.base64Image); 
Verwandte Themen