AngularJS - 如何将指令(ng-repeat)的内容导出到单独的可下载HTML文件中

时间:2014-08-05 14:58:15

标签: angularjs angularjs-directive

如标题所示:如何使用Angular允许在新的HTML文件中下载div的内容(在本例中为ng-repeat指令)?

我试过这个:

var content = 'file content';
var blob = new Blob([ content ], { type : 'text/html' });
$scope.url = (window.URL || window.webkitURL).createObjectURL( blob );

HTML:

<a download="content.txt" ng-href="{{ url }}">download</a>

但它不起作用。

我知道如何在纯JS中实现,但我想知道是否有一些更简洁,更方便的方法来实现Angular?

1 个答案:

答案 0 :(得分:1)

您可以使用FileSaver.js将表格输出为供用户下载的文件。

<div id="exportable">
    <table width="100%">
        <thead>
            <tr>
                <th>Name</th>
                <th>Email</th>
                <th>DoB</th>
            </tr>
        </thead>
        <tbody>
            <tr ng-repeat="item in items">
                <td>{{item.name}}</td>
                <td>{{item.email}}</td>
                <td>{{item.dob | date:'MM/dd/yy'}}</td>
            </tr>
        </tbody>
    </table>
</div>

出口电话:

var blob = new Blob([document.getElementById('exportable').innerHTML], {
        type: "text/html;charset=utf-8"
    });
    saveAs(blob, "content.html");
};

演示:http://jsfiddle.net/XNVj3/108/