Wie füge ich Hintergrundbilder von ngOnInit hinzu? Ich möchte nicht background: url("link of my image")
in CSS verwenden, da dies die Auslastung meiner Website erhöht. Ich möchte dieseHintergrundbild in Angular 2
Antwort
Sie denken richtig! Es kann auf viele Arten gemacht werden!
1) Durch Änderung der Stil-Eingang:
import {Component} from '@angular/core'
import { DomSanitizer } from '@angular/platform-browser';
@Component({
selector: 'my-app',
template: `
<div>
<div [style]="getStyle()">
I am a div that wants to be styled
</div>
<button (click)="showStyle = !showStyle;">Toggle style</button>
</div>
`
})
export class App {
showStyle: false;
constructor() {
}
getStyle() {
// snip snip -> fetch the url from somewhere
const profilePicUrl = 'some-remote-server-url.jpg';
const style = `background-image: url(${profilePicUrl})`;
// sanitize the style expression
return this.sanitizer.bypassSecurityTrustStyle(style);
}
}
2) Durch die Änderung ngClass:
Und in ngOnInit() stellen Sie Ihre Variable, die Sie
3 wollen) Durch das Hinzufügen Direktive:
import {Directive, ElementRef, Renderer} from '@angular/core';
@Directive({
selector: '[setBackgroundImage]',
})
export class StyledDirective {
constructor(public el: ElementRef, public renderer: Renderer) {
// el.nativeElement.style.backgroundColor = 'yellow';
renderer.setElementStyle(el.nativeElement, 'backgroundImage', 'yourImageLink');
}
}
Und viele ot Ihre Wege in dieser Quelle zum Beispiel: https://juristr.com/blog/2016/01/learning-ng2-dynamic-styles/
In Ihrem component.ts von Angular 2 Typoskript tun, Import DomSanitizer
,
Import {DomSanitizer} von '@ Winkel/Plattform-Browser';
... eine Variable in der Komponentenklasse delare, sagen backgroundImageStyle
und initialisieren diese Variable in ngOnInit
:
backgroundImageStyle: string;
constructor(private sanitizer: DomSanitizer) { }
public ngOnInit()
{
this.backgroundImageStyle = this.getBackgroundImageStyle();
}
private getBackgroundImageStyle()
{
let backgroundImage = './path/to/your/image';
// sanitize the style expression
const style = `background-image: url(${backgroundImage})`;
return this.sanitizer.bypassSecurityTrustStyle(style);
}
und in der Komponente HTML, stellen Sie den Stil-Eigenschaft des Hauptbehälters:
[style]="backgroundImageStyle"
Es funktioniert nicht ... –
Entschuldigung, ich habe einen Fehler gemacht, sehen Sie die aktualisierte Antwort – Faisal
Vielen Dank! Jetzt funktioniert es –
- 1. Angular 2 Hintergrundbild Webpack 2
- 2. Switch Hintergrundbild - Angular 2
- 3. Wie füge ich ein Hintergrundbild in Angular 2 Component hinzu?
- 4. Angular 2 - Hintergrundbild in eine HTML-Datei mit ngStyle
- 5. Hinzufügen von externem Hintergrundbild dynamisch Angular 2 Sanitizer
- 6. Angular 2 Set dynamische Stile von Komponente (Hintergrundbild: linearer Farbverlauf)
- 7. Hintergrundbild fehlt in Folien ionischen rc 2
- 8. Wie Hintergrundbild zu setzen in Winkel 2
- 9. Angular 2, Ionic 2
- 10. Zweiwege in Angular 2
- 11. Fancybox in Angular 2
- 12. Öffnen in Angular 2
- 13. Wie in Angular 2
- 14. TInyMce in Angular 2
- 15. Wie in Angular 2
- 16. Pfadvariablen in Angular 2
- 17. in Angular 2
- 18. Dateipfadfehler in Angular 2
- 19. Diagramme in Angular 2+
- 20. Multiselect in Angular 2
- 21. Seitenübergänge in Angular 2
- 22. Autoscroll in Angular 2
- 23. Schreibmaschineneffekt in Angular 2
- 24. Verzögerung: Toggle-Stil (Hintergrundbild) Angular ng-Klasse
- 25. Include Angular 2-Paket in einem Angular 2 JavaScript-Projekt
- 26. Angular 2- DOM-Element Manipulation in Angular 2
- 27. Wie können Sie ein übergeordnetes Hintergrundbild von einer verschachtelten Komponente in Angular 2 ändern?
- 28. Angular 2
- 29. Was ist @angular in Angular 2?
- 30. Angular 1 App in Angular 2
Soweit ich weiß Styling in css getan ist schneller als in js getan. – onetwo12
Wirklich? Meine Landung laden alle und danach sehe ich Bild und Login-Formular. Ich muss Login-Formular laden und gleichzeitig das Bild laden –