javascript - Korrekt måte å gi DomSanitizer til komponent med Angular 2 RC6
Jeg forsøker å bruke DomSanitizer for å rense en dynamisk URL i en komponent, men jeg klarer ikke å finne ut hva den riktige måten å spesifisere en Provider for denne tjenesten på er.
Jeg bruker Angular 2.0.0-rc.6
Her er min nåværende komponent:
@Component({
templateUrl: './app.component.html',
styleUrls: [ './app.component.css' ],
providers: [ DomSanitizer ],
})
export class AppComponent implements OnInit
{
public url: SafeResourceUrl;
constructor(private sanitizer: DomSanitizer) {}
ngOnInit() {
let id = 'an-id-goes-here';
let url = `https://www.youtube.com/embed/${id}`;
this.videoUrl = this.sanitizer.bypassSecurityTrustResourceUrl(url);
}
ngOnDestroy() {}
}
Dette resulterer i feilen this.sanitizer.bypassSecurityTrustResourceUrl er ikke en funksjon ved kjøring.
Kan noen vise meg et eksempel på hvordan man riktig kan gi en Provider for DomSanitizer? Takk!
Svar #1
Du trenger ikke lenger å deklarere providers: [ DomSanitizer ].
Du trenger bare å importere DomSanitizer som vist nedenfor,
import { DomSanitizer, SafeResourceUrl, SafeUrl} from '@angular/platform-browser';
i komponenten injiserer du det gjennom en konstruktør som nedenfor,
constructor(private sanitizer: DomSanitizer) {}
Svar #2
Importer disse-
import { DomSanitizer, SafeResourceUrl, SafeUrl } from '@angular/platform-browser';
definer variabel
trustedDashboardUrl : SafeUrl;
Bruk det i konstruktøren slik:
constructor(
private sanitizer: DomSanitizer) {}
Spesifiser URL slik som dette-
this.trustedDashboardUrl =
this.sanitizer.bypassSecurityTrustResourceUrl
("URL");
Se om dette hjelper.
