2017-02-23 119 views
0

click事件我有以下图标,有一个click事件触发下载时,按下角2

<md-list-item *ngFor="let history of exportHistory"> 
     <md-icon (click)="onDownloadClick(history)" md-list-avatar>file_download</md-icon> 
     <a md-line>{{history.exportDate_epoch | epoch | date:'mediumDate'}}</a> 
     <p md-line> Exported by: {{history.by}}</p> 
     <p md-line> {{history.numberOfEntries}} Entries</p> 
    </md-list-item> 

我的历史对象有一个属性“URL”包含下载链接。

所以当我做下面的时候我会得到下载链接。

onDownloadClick(history: ExportHistoryModel) { 
    console.log(history.url); 
} 

如何触发文件下载就像按下链接一样?

回答

0

您可以尝试几种方法,如Blog中所述。

最好的方法是以编程方式创建带有“下载”HTML5属性的<a>标记。

const url = 'https://upload.wikimedia.org/wikipedia/commons/thumb/6/61/HTML5_logo_and_wordmark.svg/130px-HTML5_logo_and_wordmark.svg.png'; 
$('<a />') 
    .attr('href',url) 
    .attr('download', 'YourFileName.png') 
    [0].click(); 
0

我不知道有关的md-icon属性,但你可以简单地把它包装在一个锚标记:

<md-list-item *ngFor="let history of exportHistory"> 
    <a href="{{history.url}}"><md-icon (click)="onDownloadClick(history)" md-list-avatar>file_download</md-icon></a> 
    <a md-line>{{history.exportDate_epoch | epoch | date:'mediumDate'}}</a> 
    <p md-line> Exported by: {{history.by}}</p> 
    <p md-line> {{history.numberOfEntries}} Entries</p> 
</md-list-item>