如何访问脚本标签中的角度变量

Posted

技术标签:

【中文标题】如何访问脚本标签中的角度变量【英文标题】:How to access the angular variable in script tag 【发布时间】:2019-01-20 13:03:41 【问题描述】:

如何在脚本标签中访问角度变量跟踪ID(UA-123XXXXXX-1)

<app-root></app-root>
<script>
  (function(i, s, o, g, r, a, m) 
            i['GoogleAnalyticsObject'] = r;
            i[r] = i[r] || function() 
                (i[r].q = i[r].q || []).push(arguments)
            , i[r].l = 1 * new Date();
            a = s.createElement(o),
                m = s.getElementsByTagName(o)[0];
            a.async = 1;
            a.src = g;
            m.parentNode.insertBefore(a, m);

        )(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');

ga('create', 'UA-123XXXXXX-1', 'auto');// add your tracking ID here.
ga('send', 'pageview');


</script>

【问题讨论】:

你想做什么,我不明白。您是否正在尝试将谷歌分析添加到您的 Angular 应用程序中?如果是这样,你不要在那里添加角度参考。您添加的脚本很好。其余代码应该在您的引导组件中。应用组件 @TaranjitKang ,我想从角度设置这个 UA-123XXXXXX-1 变量 Angular 4+ using Google Analytics的可能重复 【参考方案1】:

如果你想从 Angular 中完成,那么你需要从 Angular 中完成所有事情。

// ga.ts
declare const ga: any;

export function startAnalytics(token) 
  (function(i, s, o, g, r, a, m) 
            i['GoogleAnalyticsObject'] = r;
            i[r] = i[r] || function() 
                (i[r].q = i[r].q || []).push(arguments)
            , i[r].l = 1 * new Date();
            a = s.createElement(o),
                m = s.getElementsByTagName(o)[0];
            a.async = 1;
            a.src = g;
            m.parentNode.insertBefore(a, m);

        )(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');

  ga('create', token, 'auto');
  ga('send', 'pageview');


// whatever.ts
import  startAnalytics  from './ga.ts';

// here e.g. retrieving your token from backend or whatsoever work
// you want to be done before

startAnalytics('whatever token you want');

实际上,我不太确定 ga('send', 'pageview'); 是您在 SPA 中想要的东西,但这超出了您的问题范围。

【讨论】:

非常感谢,只需稍微修改这一行 i[r].l = 1 * new Date(); 就会在 src/app/ga.ts(9,29) 中抛出错误 ERROR: error TS2363: The right-hand side of an算术运算必须是 'any'、'number' 或枚举类型。

以上是关于如何访问脚本标签中的角度变量的主要内容,如果未能解决你的问题,请参考以下文章

如何以角度访问组件模板中的服务变量

如何在标签中显示 javascript 脚本中的变量的值

如何从jsp标签内部访问函数中的变量

如何通过 GetComponent 从另一个游戏对象中的另一个脚本访问变量?

如何使用 C++ 中的继承函数访问派生类中的局部变量

如何从脚本命令访问 process.env 变量