2013-10-16 5 views
7

Angular kullanarak siteme mütevazi bir tweet düğmesi uygulamakla ilgili sorunlar yaşıyorum. Bazı araştırmalar yaptım ve jQuery'yi kullanarak bir AJAX sitesi için bazı çözümler buldum, ancak çözümün (aşağıdaki) bir kontrolörün dışında çalışan betiği içerdiğini söyleyebildiğim kadarıyla, bu nedenle Açısal Olmayan ve Kötü Bir Şey olacaktır.Twitter düğmesi nasıl uygulanır Angular yolu

Bu problemi Herkesin Açısal olarak çözdüğü veya herhangi bir ipucuna sahip olduğu var mı?

Teşekkürler. AJAX için

Çözüm:

//adding button to dom 
$('#tweetbutton').append('<a class="twitter-share-button" href="http://twitter.com/share" data-url="http://www.google.nl>Tweet</a>'); 
//loading widgets 
$.getScript('//platform.twitter.com/widgets.js', function(){ 
//calling method load 
twttr.widgets.load(); 

Alındığı: Burada Cannot update tweet button with Ajax

cevap

7

size yardımcı olabilecek bir özü var: https://gist.github.com/Shoen/6350967

directive.js

directives.directive('twitter', [ 
    function() { 
     return { 
      link: function(scope, element, attr) { 
       setTimeout(function() { 
         twttr.widgets.createShareButton(
          attr.url, 
          element[0], 
          function(el) {}, { 
           count: 'none', 
           text: attr.text 
          } 
         ); 
       }); 
      } 
     } 
    } 
]); 

index.html

<script src="http://platform.twitter.com/widgets.js"></script> 

<a twitter data-text="Your text: {{file.name}}" data-url="http://127.0.0.1:3000/{{file.link}}"></a> 
+0

Teşekkürler Manuel. Verileri sayfa yükleme zamanında yüklenmemişse, önerdiğiniz yöntem ideal olmadığından bunu biraz açık bırakacağım. Yine de iyi bir cevap! – axzr

0

Ben benzer bir Facebook çözeltisinden bir sayfa aldı ve aşağıdaki şekilde bu uygulamaya başardı. Eğer sayfanın içine düzgün gerekli JavaScript yerleştirmesine aşağıdaki kodu kullanabilirsiniz

<a href="https://twitter.com/share" class="twitter-share-button" data-text="Here's something cool">Tweet</a> 
sizin Denetleyici'de Sonra

(hatta uygulama yükte): Size göre

, standart bağlantı düğmesi sözdizimini kullanın

// Load twitter sharing button 
    (function(d,s,id){ 
     var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https'; 
     if(!d.getElementById(id)){ 
      js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js'; 
      fjs.parentNode.insertBefore(js,fjs); 
     } 
    }(document, 'script', 'twitter-wjs')); 

Bu, kodu sayfaya doğru şekilde enjekte edecek ve Twitter düğmesinin çalışmasına izin verecektir.

+0

çalışmıyor. sadece ilk kez yükleniyor. – marukobotto