我有这样的事情:
<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?
答案 0 :(得分:0)
请勿使用onclick
,但使用ng-click
,否则prod-ent
和prod.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>