Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs Angular JS和addthis事件处理程序_Angularjs_Addthis - Fatal编程技术网

Angularjs Angular JS和addthis事件处理程序

Angularjs Angular JS和addthis事件处理程序,angularjs,addthis,Angularjs,Addthis,我第一次在一个大型项目中使用Angular,其中一个要求是我们使用AddThis进行文章的社会共享。但除了AddThis共享之外,我们还希望跟踪google analytics中的共享事件 所以我想做的是添加AddThis 问题是,我似乎无法在控制器的$scope中获取对addthis对象的引用。是否有人知道我如何通过指令或其他一些技巧来完成此操作。准备好并获取对addthis对象的引用了吗?addthis是窗口的属性,必须在任何范围内可见,但是,我猜,addEventListener的type

我第一次在一个大型项目中使用Angular,其中一个要求是我们使用AddThis进行文章的社会共享。但除了AddThis共享之外,我们还希望跟踪google analytics中的共享事件

所以我想做的是添加AddThis


问题是,我似乎无法在控制器的$scope中获取对addthis对象的引用。是否有人知道我如何通过指令或其他一些技巧来完成此操作。准备好并获取对addthis对象的引用了吗?

addthis
窗口的属性,必须在任何范围内可见,但是,我猜,
addEventListener
type
参数在addthis_widget.js中没有计算

你试过这个吗

<div class="addthis_toolbox addthis_16x16_style">
  <a class="addthis_button_preferred_1"></a>
  <a class="addthis_button_preferred_2"></a>
  <a class="addthis_button_preferred_3"></a>
  <a class="addthis_button_preferred_4"></a>
  <a class="addthis_button_compact"></a>
</div>
<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=XXXXX"></script>
<script type="text/javascript">
    addthis.addEventListener('addthis.menu.open', eventHandler);
    addthis.addEventListener('addthis.menu.close', eventHandler);
    addthis.addEventListener('addthis.menu.share', eventHandler);
<script>


. 尝试在指令中添加您的侦听器。

谢谢您的回答。我最终做了一些非常相似的事情。我必须用
element.ready(registerShareListeners)
将addEventListener调用包装在link函数中。这样可以确保在附加共享侦听器之前完成渲染。
addthis.addEventListener('addthis.menu.open', eventHandler);
addthis.addEventListener('addthis.menu.close', eventHandler);
addthis.addEventListener('addthis.menu.share', eventHandler);
<div class="addthis_toolbox addthis_16x16_style">
  <a class="addthis_button_preferred_1"></a>
  <a class="addthis_button_preferred_2"></a>
  <a class="addthis_button_preferred_3"></a>
  <a class="addthis_button_preferred_4"></a>
  <a class="addthis_button_compact"></a>
</div>
<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=XXXXX"></script>
<script type="text/javascript">
    addthis.addEventListener('addthis.menu.open', eventHandler);
    addthis.addEventListener('addthis.menu.close', eventHandler);
    addthis.addEventListener('addthis.menu.share', eventHandler);
<script>