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

Set dynamic parameter in ga command in angularjs

本文关键字:设置 动态 参数 命令 angularjs ga      更新时间:2023-09-26

我有这样的东西:

<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>

而且,我必须将"产品:名称"替换为产品变量

<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>

有什么想法可以正确设置产品变量吗?

不要使用

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>