Javascript 如何在自定义HTML标记中引用整个数据层对象?

Javascript 如何在自定义HTML标记中引用整个数据层对象?,javascript,google-tag-manager,Javascript,Google Tag Manager,我正在将redux调度事件推送到数据层。我向对象添加了一些信息,它们最终成为相当复杂的对象。我有一个自定义html标记,当dataLayer对象上的某些属性是某些值时触发。自定义标记调用window.publish()函数,该函数将JSON对象发布到ELK堆栈。函数的参数为:window.publish({“key”:“value”}) 我要做的是为正在激发的标记发布整个dataLayer对象。我知道我可以使用{{}}符号引用对象上的单个变量,但是我如何引用整个对象呢?目前我正在这样做: <

我正在将redux调度事件推送到数据层。我向对象添加了一些信息,它们最终成为相当复杂的对象。我有一个自定义html标记,当dataLayer对象上的某些属性是某些值时触发。自定义标记调用window.publish()函数,该函数将JSON对象发布到ELK堆栈。函数的参数为:window.publish({“key”:“value”})

我要做的是为正在激发的标记发布整个dataLayer对象。我知道我可以使用{{}}符号引用对象上的单个变量,但是我如何引用整个对象呢?目前我正在这样做:

<script>
window.publish(
  dataLayer[
   dataLayer.findIndex(function(ev){return ev['gtm.uniqueEventId'] == . 
     {{UniqueEventId}}})
  ]);
 </script>

window.publish(
数据层[
dataLayer.findIndex(函数(ev){return ev['gtm.uniqueventid']==。
{{uniqueventid}}})
]);
其中{{uniqueventid}}是我设置的自定义变量


有更好的方法吗?

我在问题中使用的解决方案就是答案。它来自这里:

dataLayer.find(yourfunc)
我在谷歌产品论坛上得到了这个答案:如果没有其他想法,我会在这里更新它。