2017-10-12 65 views
0
<li *ngFor="let post of posts ;let i = index "> 
    <div *ngIf="post.link != ''"> 
    <iframe width="100%" height="315" frameborder="0" [src]="post.link"> 
    </iframe> 
    </div> 
</li> 

post.link的YouTube鏈接或其他網站鏈接,Angular 2 ngfor循環的值是youtube鏈接還是其他鏈接?

如果post.link是沒有Youtube鏈接隱藏的iframe標籤。

+0

我認爲你的問題無關,在一個'ngFor'是與否。 – Pac0

+0

將'* ngIf =「post.link!=''」'更改爲'* ngIf =「post.link && post.link!=''」' – jitender

+1

最新的問題是什麼?在ng-if檢查中,你可以指定一個函數並檢查鏈接是否包含類似youtu.be或youtube.com –

回答

1

一個選項。 給自己的帖子一個額外的鍵如:isYoutube(布爾)

,那麼你可以編輯你的ngFor:

<iframe *ngIf="post.isYoutube" width="100%" height="315" frameborder="0" [src]="post.link"></iframe> 
<a *ngIf="!post.isYoutube">{{post.link}}</a> 
1

也許你正在尋找的東西,如:

HTML

<div *ngIf="isYoutube(post)"> 
    <iframe width="100%" height="315" frameborder="0" [src]="post.link"></iframe> 
</div> 

組件

isYoutube(post: Post): boolean { 
    return post && post.link && -1 < post.link.indexOf('youtu'); 
} 
0

您可以檢查鏈接後不包含「youtube.com」與

*ngIf="post.link.indexOf('youtube.com') != -1"