2013-12-09 10 views
6
app.directive('copyPost', ['$window', '$filter', 'ZeroClipboardPath', function ($window, $filter, ZeroClipboardPath) { 
    return { 
     scope: { 
     postFn: '&', 
     postSuccess: '&', 
     }, 
     restrict: 'A', 
     terminal: true, 
     prioriry: 10, 
     link: function (scope, element, attrs) { 
     scope.disaplyValue = 'Copy'; 
     ZeroClipboardPath = 'lib/zeroclipboard/ZeroClipboard.swf'; 
     var clip = new ZeroClipboard($(element), { 
      moviePath: ZeroClipboardPath  
     }); 
     clip.on('dataRequested', function(client, args) { 
      scope.postFn().then(function(data){ 
      client.setText(data.data[0].external_url); 
      scope.postSuccess(); 
      }); 

     }); 
     } 
    } 
    }]); 

La creazione di più istanze di questa direttiva consente all'oggetto swf di attivare l'evento solo per la prima istanza sull'intera applicazione (stesso collegamento copiato).ZeroClipboard + angolare, più istanze

ovviamente ho più di un collegamento che vorrei consentire al mio utente di copiare nella mia applicazione.

Qualsiasi aiuto è molto apprezzato

+1

Sembra che questo sia un problema noto con più istanze nella stessa pagina https://github.com/zeroclipboard/zeroclipboard/issues/90. Hai provato un'alternativa? http://www.steamdev.com/zclip/ –

+0

Il ragazzo non vuole dare alcun contributo e dice che lo risolverà da solo in questo Natale (si spera) –

risposta

1

Questo comportamento 'Singleton' è stato fissato nella versione più recente 1.3.0 beta.