在angularjs中的ga命令中设置动态参数

时间:2015-03-11 23:37:14

标签: javascript angularjs google-analytics

我有这样的事情:

<div ng-repeat="(key, prod) in collectionData">
<a target="_blank" onclick="ga('send', 'event', 'Product: Name', 'Aply product', 'Product: Name');">
    <img src="{{prod.card_image}}" alt="">
</a>

而且,我必须替换prod var

的'Product:Name'
<div ng-repeat="(key, prod) in collectionData">
<a target="_blank" onclick="ga('send', 'event', '{{prod.ent}}: {{prod.name}}', 'Aply product', '{{prod.ent}}: {{prod.name}}');">
    <img src="{{prod.card_image}}" alt="">
</a>

但是js的语法不正确。我正在尝试下一个语法,但不起作用:

<div ng-repeat="(key, prod) in collectionData">
<a target="_blank" onclick="ga('send', 'event', '' + prod.ent + ': ' + prod.name + '', 'Aply product', '' + prod.ent + ': ' + prod.name + '');">
    <img src="{{prod.card_image}}" alt="">
</a>

有没有想法正确设置prod var?

1 个答案:

答案 0 :(得分:0)

请勿使用onclick,但使用ng-click,否则prod-entprod.name将为undefined。但是当你这样做时,ga将变成undefined,因为你在指令的范围内工作,而不是像onclick那样在窗口范围内工作。因此,您必须在控制器中注入$window,并将$window.ga分配到您的范围:$scope.ga = $window.ga;如果您这样做,以下内容将按照您的预期运行:

<a target="_blank" ng-click="ga('send', 'event', prod.ent + ': ' + prod.name, 'Aply product', prod.ent + ': ' + prod.name);">
    <img src="{{prod.card_image}}" alt="">
</a>