var app = angular.module('app', []).config(function($compileProvider) { //blobで始まるurlを許可する $compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|blob):/); }); app.controller('MyController', function($scope) { $scope.people = [ 'atsumo' ]; $scope.addPerson = function(name) { $scope.people.push(name); }; $scope.createData = function() { //json形式のデータを作る var blob = new Blob([ JSON.stringify($scope.people) ], { "type" : "application/json" }); window.URL = window.URL || window.webkitURL; $scope.url = window.URL.createObjectURL(blob); }; });
<div ng-app="app"> <div ng-controller="MyController"> <h1>リスト</h1> <form> <input ng-model="name" preholder="検索" /> <button ng-click="addPerson(name)">追加</button> </form> <a ng-click="createData()" ng-href="{{url}}" download="sample.json">download</a> <div> {{ people | json }} </div> </div> </div>
</style> <!-- Ugly Hack to make remote files preload in jsFiddle --> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.9/angular.min.js"></script> <style>