0

being a newbie to angular got stuck in copying json data, I need to copy my entire json object to clipboard , and then paste it later on. have done it through ngClip , but it dosen't copy the entire object else it copies the object name.below is what I've done so far:

<label>Copy #1</label>

<button class="btn btn-default" clip-copy="copy1">Copy!</button>
<script>
   var myapp = angular.module('myapp', ["ngClipboard"]);

   myapp.config(['ngClipProvider', function(ngClipProvider) {
      ngClipProvider.setPath("//cdnjs.cloudflare.com/ajax/libs/zeroclipboard/2.1.6/ZeroClipboard.swf");
   }]);

   myapp.controller('myctrl', function($scope) {
      $scope.copy1 = {};
      $scope.copy1.Name = "ABC";
      $scope.copy1.age = 24;
      $scope.copy1.City = "Pittsburgh";

   });
</script>

Clicking on Copy! button always copies copy1, I want it to copy the entire object.However if I give copy1.Name in clip-copy it copies ABC. Any leads wud be appreciated.

Preena Khanuja
  • 205
  • 2
  • 6
  • 14

3 Answers3

2

Use JSON.stringify(obj) to convert your object to string. It will return you a string which you can copy on clip board.

Shreyas
  • 1,927
  • 17
  • 34
2

It's probably because copy1 is an object. Try using angular.toJson() to convert the object to a string. Like this:

<label>Copy #1</label>

<button class="btn btn-default" clip-copy="test()">Copy!</button>
<script>
   var myapp = angular.module('myapp', ["ngClipboard"]);

   myapp.config(['ngClipProvider', function(ngClipProvider) {
      ngClipProvider.setPath("//cdnjs.cloudflare.com/ajax/libs/zeroclipboard/2.1.6/ZeroClipboard.swf");
   }]);

   myapp.controller('myctrl', function($scope) {
      $scope.copy1 = {};
      $scope.copy1.Name = "ABC";
      $scope.copy1.age = 24;
      $scope.copy1.City = "Pittsburgh";

      $scope.test = function () {
        return angular.toJson($scope.copy1);
      }

   });
</script>

Plunker: http://plnkr.co/edit/KISecLdBfOMxVPFT6MMZ?p=preview

Pål
  • 958
  • 2
  • 13
  • 18
0

Use angular.copy($scope.copy1,$scope.target) . it will copy your entire copy1 object to target object.