Yeni Angular'da ngSrc ile eşdeğeri nedir?


95

JSON nesnesinden gelen bir src ile img uygulamak istiyorum.

AngularJS'de şunları yapabilirim:

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

Angular 2 + 'da buna eşdeğer var mı?

Yanıtlar:


184

AngularJS:

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

Açısal 2+:

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

Açısal belgeler


Enterpolasyonun aynı sonucu elde edebileceğini unutmayın:

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

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

İki yönlü bağlama istemediğiniz sürece, bu iki özellik bağlama ifadesi arasında teknik bir fark yoktur.

İnterpolasyon, birçok durumda mülk bağlama için uygun bir alternatiftir. Aslında, Angular, görünümü oluşturmadan önce bu enterpolasyonları karşılık gelen özellik bağlamalarına çevirir. kaynak


10
bu nedenle, ng-src'ye eşdeğer değildir, çünkü ng-src, ng-src'nin bir değere sahip olmasından önce imajı yüklemekten kaçınır
Sebastián Rojas

Sebastian'ın söylediği gibi! Eşit değildir, çünkü video/audiodiğer ve çok az sayıda öğenin attributeshiçbir değeri olmamalıdır . ng-srcbuna eşdeğer değil[src]
Nikhilesh Shivarathri

Ng-src ile aynı sonucu elde etmek için, şöyle bir eklemeniz gerekir ngIf:<img *ngIf="vehicle?.imageUrl" [src]="vehicle.imageUrl">
Ahmed Osama

8

Angular uygulamanızda ng-src'nin aynı işlevselliğini elde etmek için iki aşamalı bir süreçtir.

İlk adım:

HTML'nizde yeni sözdizimini kullanın:

<img [src]="imageSrc">

İkinci adım:

Bileşeninizde / direktifinizde, boş olması için değeri başlatın . Örneğin:

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

Şimdi, bu null, değerin öğeye ayarlanmaması nedeniyle ağ çağrısını (boş çağrı) ortadan kaldıracaktır .



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>

İmg.youtube.com / vi {{post.youtubeVideoId}} / default.jpg için başarısız bir istek oluşturduğundan önerilen çözüm olmadığı için olumsuz oy verildi.
Jamie

Başarısız bir istek oluşturur! Kabul.
Nikhilesh Shivarathri
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.