Jak używać ngStyle do dodawania obrazu tła? Mój kod nie działa:
this.photo = 'http://dl27.fotosklad.org.ua/20121020/6d0d7b1596285466e8bb06114a88c903.jpg';
<div [ngStyle]="{'background-image': url(' + photo + ')}"></div>
javascript
html
css
angular
Ignat
źródło
źródło
Odpowiedzi:
Myślę, że możesz spróbować tego:
Czytając twoje
ngStyle
wyrażenie, domyślam się, że przegapiłeś jakieś „'” ...źródło
this.photo = `url(${photo})`;
[style.background-image]='photo'
.[ngStyle]
i[style.background-image]
błąd renderowania.Możesz także spróbować tego:
[style.background-image]="'url(' + photo + ')'"
źródło
<div [ngStyle]="{ color: 'red', 'font-size': '22px' }">First</div>
i<div [style.color]="'red'" [style.font-size.px]="22">Second</div>
Zobacz też
źródło
Wygląda na to, że Twój styl został oczyszczony. Aby go ominąć, spróbuj użyć metody bypassSecurityTrustStyle z DomSanitizer.
źródło
Użyj zamiast
źródło
Mój obraz tła nie działał, ponieważ adres URL zawierał spację i dlatego musiałem go zakodować.
Możesz sprawdzić, czy na tym polega problem, wypróbowując inny adres URL obrazu, który nie zawiera znaków, które wymagają zmiany znaczenia.
Możesz to zrobić z danymi w komponencie za pomocą skryptów JavaScript wbudowanych w encodeURI () metodę .
Osobiście chciałem stworzyć do niego fajkę, aby można ją było wykorzystać w szablonie.
Aby to zrobić, możesz stworzyć bardzo prostą rurę. Na przykład:
src / app / pipes / encode-uri.pipe.ts
src / app / app.module.ts
src / app / app.component.ts
src / app / app.component.html
źródło
Możesz skorzystać z 2 metod:
Metoda 1
Metoda 2
Uwaga: ważne jest, aby otoczyć adres URL ciągiem „ char.
źródło
Przeważnie obraz nie jest wyświetlany, ponieważ adres URL zawiera spacje. W twoim przypadku prawie wszystko zrobiłeś poprawnie. Z wyjątkiem jednej rzeczy - nie dodałeś pojedynczych cudzysłowów, tak jak robisz, jeśli określisz obraz tła w css, tj
Aby to zrobić, uniknij cudzysłowu w HTML za pomocą \ '
źródło
Moje rozwiązanie, używając instrukcji if..else. Jeśli chcesz uniknąć niepotrzebnych frustracji, zawsze dobrze jest sprawdzić, czy zmienna istnieje i jest ustawiona. W przeciwnym razie podaj obraz zapasowy na wypadek; Możesz także określić wiele właściwości stylu, takich jak
background-position: center
itp.źródło