Bagaimana cara menggunakan ngStyle untuk menambahkan gambar latar belakang? Kode saya tidak berfungsi:
this.photo = 'http://dl27.fotosklad.org.ua/20121020/6d0d7b1596285466e8bb06114a88c903.jpg';
<div [ngStyle]="{'background-image': url(' + photo + ')}"></div>
javascript
html
css
angular
Ignat
sumber
sumber
Jawaban:
Saya pikir Anda bisa mencoba ini:
Dari membaca
ngStyle
ekspresi Anda , saya rasa Anda melewatkan beberapa "'" ...sumber
this.photo = `url(${photo})`;
[style.background-image]='photo'
.[ngStyle]
dan[style.background-image]
kegagalan rendering.Anda juga dapat mencoba ini:
[style.background-image]="'url(' + photo + ')'"
sumber
<div [ngStyle]="{ color: 'red', 'font-size': '22px' }">First</div>
dan<div [style.color]="'red'" [style.font-size.px]="22">Second</div>
Lihat juga
sumber
Sepertinya gaya Anda telah dibersihkan, untuk melewatinya coba gunakan metode bypassSecurityTrustStyle dari DomSanitizer.
sumber
Gunakan sebagai gantinya
sumber
Gambar latar belakang saya tidak berfungsi karena URL memiliki spasi di dalamnya dan karena itu saya perlu menyandikannya ke URL.
Anda dapat memeriksa apakah ini masalah yang Anda alami dengan mencoba URL gambar lain yang tidak memiliki karakter yang perlu keluar.
Anda bisa melakukan ini ke data dalam komponen hanya menggunakan Javascripts built in encodeURI () metode.
Secara pribadi saya ingin membuat pipa untuk itu sehingga bisa digunakan dalam template.
Untuk melakukan ini, Anda dapat membuat pipa yang sangat sederhana. Sebagai contoh:
src / app / pipe / encode-uri.pipe.ts
src / app / app.module.ts
src / app / app.component.ts
src / app / app.component.html
sumber
Anda dapat menggunakan 2 metode:
Metode 1
Metode 2
Catatan: penting untuk mengapit URL dengan " char.
sumber
Sebagian besar gambar tidak ditampilkan karena URL Anda berisi spasi. Dalam kasus Anda, Anda hampir melakukan semuanya dengan benar. Kecuali satu hal - Anda belum menambahkan tanda kutip tunggal seperti yang Anda lakukan jika Anda menentukan gambar latar belakang di css Ie
Untuk melakukannya, lepas karakter kutipan dalam HTML melalui \ '
sumber
Solusi saya, menggunakan pernyataan if..else. Itu selalu merupakan praktik yang baik jika Anda ingin menghindari frustrasi yang tidak perlu, untuk memeriksa apakah variabel Anda ada dan disetel. Jika tidak, berikan gambar cadangan jika; Anda juga dapat menentukan beberapa properti gaya, seperti
background-position: center
, dll.sumber