AngularJS在statechange之后重新初始化JS

iam*_*esy 2 javascript dom angularjs

我有来自http://sharethis.com的社交按钮,我想在我的应用上放置一个个人资料页面.我正在使用ui-router进行状态管理和页面转换等.

我把我从sharethis获得的代码放到我的index.html:

<script type="text/javascript" src="http://w.sharethis.com/button/buttons.js"></script>
<script type="text/javascript">stLight.options({publisher: "66053d76-64c6-4378-8971-aac043dbbc5d", doNotHash: false, doNotCopy: false, hashAddressBar: false});</script>
Run Code Online (Sandbox Code Playgroud)

和我的个人资料页面上的标记:

<span class='st_twitter_hcount' displayText='Tweet'></span>
<span class='st_facebook_hcount' displayText='Facebook'></span>
<span class='st_googleplus_hcount' displayText='Google +'></span>
Run Code Online (Sandbox Code Playgroud)

发生的事情是社交按钮只在您在个人资料页面上刷新时加载(我猜这是预期的行为).如果应用程序从主页开始引导,然后转换到配置文件页面,则表示它们未加载.

有什么技巧可以用来重新初始化或重新加载这些javascript文件吗?

Ale*_*jic 8

我花了一些时间调查sharethis源代码并发现这个创建按钮的功能,在页面控制器上添加这个函数调用,这将添加按钮.

stButtons.makeButtons();
Run Code Online (Sandbox Code Playgroud)