为什么我的twitter小部件不会渲染,如果我更改在角度的视图?

前端之家收集整理的这篇文章主要介绍了为什么我的twitter小部件不会渲染,如果我更改在角度的视图?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
嗨,谢谢阅读.

我有一个角度的应用程序制作和ive在一个问题上偶然发现.设置如此

index.html-

<html ng-app="myApp">
...
<div ng-view></div>
<div ng-include="'footer.html'"></div>
...
</html>

我不会打扰我的路线很简单/家是显示/home/index.html等等…

/home/index.html(当您访问该网站时的默认视图)

<div class="responsive-block1">
<div class="tweet-me">
    <h1> tweet me </h1>
</div>

<div class="twitter-Box">
    <twitter-timeline></twitter-timeline>
</div>

twitter时间线指令

directives.directive("twitterTimeline",function() {
return { 
     restrict: 'E',template: '<a class="twitter-timeline" href="https://twitter.com/NAME" data-widget-id="XXXXXXXXXXXXXX">Tweets by @NAME</a>',link: function(scope,element,attrs) {

    function run(){
        (!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"));
        console.log('run script');
    };

    run();


     }
   };
});

所以我刚刚创建了一个基本的twitter指令使用twitter的标签.但是当我将视图示例更改为/ blog,然后返回/ home时,twitter窗口小部件就不再呈现.

我也使用$anchorScroll,如果我跳到任何一个页面,这个小部件也消失.任何信息将非常感谢.

看到这篇文章https://dev.twitter.com/discussions/890

我认为你可以通过调用获取窗口小部件来重新渲染
twttr.widgets.load().

如果发现这不起作用,那么您需要在控制器中将此代码包装到$timeout中:

controller('MyCtrl1',['$scope','$timeout',function ($scope,$timeout) {
            $timeout = twttr.widgets.load();
    }])

猜你在找的Angularjs相关文章