Apa yang setara dengan ngSrc di Angular yang lebih baru?


94

Saya ingin mengimplementasikan img, dengan src berasal dari objek JSON.

Di AngularJS, saya bisa melakukan:

<img ng-src="{{hash}}" alt="Description" />

Apakah ada yang setara dengan ini di Angular 2+?

Jawaban:


182

AngularJS:

<img ng-src="{{movie.imageurl}}">

Angular 2+:

<img [src]="movie.imageurl">

Dokumen Angular


Perhatikan bahwa interpolasi dapat mencapai hasil yang sama:

<img src="{{vehicle.imageUrl}}">

<img [src]="vehicle.imageUrl">

Tidak ada perbedaan teknis antara kedua pernyataan ini untuk pengikatan properti, selama Anda tidak menginginkan pengikatan dua arah.

Interpolasi adalah alternatif yang nyaman untuk pengikatan properti dalam banyak kasus. Faktanya, Angular menerjemahkan interpolasi tersebut ke dalam pengikatan properti yang sesuai sebelum merender tampilan. sumber


9
jadi, ini tidak setara dengan ng-src, karena ng-src menghindari memuat gambar sebelum ng-src memiliki nilai
Sebastián Rojas

Seperti yang dikatakan Sebastian! Itu tidak sama karena elemen suka video/audiodan sedikit lainnya seharusnya tidak memiliki attributesnilai. ng-srctidak setara dengan itu[src]
Nikhilesh Shivarathri

8

Ini adalah proses dua langkah untuk mencapai fungsionalitas ng-src yang sama di aplikasi Angular Anda.

Langkah pertama:

Di HTML Anda, gunakan sintaks baru:

<img [src]="imageSrc">

Tahap kedua:

Di komponen / direktif Anda, inisialisasi nilainya menjadi kosong . Sebagai contoh:

@Component({
  selector: 'ag-video',
  templateUrl: './video.component.html'
})
export class SampleComponent {
   imageSrc = '';
}

Sekarang, ini akan menghilangkan nullpanggilan jaringan (panggilan kosong) karena nilai tidak disetel ke elemen.



1
<tr *ngFor="let post of posts | paginate: { id: 'server', itemsPerPage: 
       10, currentPage: p , totalItems: count  }">

   <td>
    <img src="https://img.youtube.com/vi/{{post.youtubeVideoId}}/default.jpg">
   </td>

   <td>
     {{post.videoName}}
   </td>

</tr>

Tidak disukai karena ini bukan solusi yang disarankan karena ini membuat permintaan yang gagal ke: img.youtube.com/vi {{post.youtubeVideoId}} / default.jpg.
Jamie

Membuat permintaan yang gagal! Sepakat.
Nikhilesh Shivarathri
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.