2013-12-09 16 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(); 
      }); 

     }); 
     } 
    } 
    }]); 

Utworzenie wielu instancji tej dyrektywy powoduje, że obiekt swf wywoła zdarzenie tylko dla pierwszej instancji w całej aplikacji (skopiowany ten sam link).ZeroClipboard + kątowe, wielokrotne instancje

Oczywiście mam więcej niż jedno łącze, które chciałbym, aby mój użytkownik mógł skopiować w mojej aplikacji.

Każda pomoc jest mile widziane

+1

Wygląda na to, że jest to znany problem z wieloma wystąpieniami na tej samej stronie https://github.com/zeroclipboard/zeroclipboard/issues/90. Czy próbowałeś alternatywy? http://www.steamdev.com/zclip/ –

+0

Facet nie chce brać żadnych datków i twierdzi, że rozwiąże go samodzielnie przed tymi świętami Bożego Narodzenia (miejmy nadzieję) –

Odpowiedz

1

Ten „singleton” zachowania została ustalona w najnowszym wydaniu 1.3.0 beta.