如何在普通的JavaScript中读取Angular表达式
How to read an Angular expression in plain old JavaScript
我正在工作的Angular应用程序必须从Angular中读取Google Analytics ID,以便在我的index.html
上以标准JavaScript将其传递给ga('create', 'UA-XXXXX-Y')
。<!-- Google Analytics: change UA-XXXXX-X to be your site's ID -->
<script>
!function(A,n,g,u,l,a,r){A.GoogleAnalyticsObject=l,A[l]=A[l]||function(){
(A[l].q=A[l].q||[]).push(arguments)},A[l].l=+new Date,a=n.createElement(g),
r=n.getElementsByTagName(g)[0],a.src=u,r.parentNode.insertBefore(a,r)
}(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', $rootScope.googleAnalytics );
// ga('send', 'pageview');
</script>
该应用程序将服务于多个网站,因此谷歌分析代码将根据所服务的网站进行更改。
代码ga('create', $rootScope.googleAnalytics );
不工作,抛出Uncaught ReferenceError: $rootScope is not defined
。
谷歌分析ID也在一个cookie,所以我可以从cookie在我的JavaScript中读取它,但不是有一个更简单的方法来做到这一点?
更新:我已经走了不在$rootScope中放置GA id的路线,但仅在cookie中,并在cookie设置后在控制器中调用ga('create', gaFromCookie)
,而不是在index.html上。
你收到的错误是因为这个脚本在你的angular应用程序启动之前运行-所以我们不知道$rootScope
是什么。你可以在应用程序初始化后调用ga()
,或者取决于你何时定义$rootScope.googleAnalytics
。观察下面的示例,我们在模块run
阶段调用"普通旧"函数。这可能是调用ga()
的好地方。观察下面的例子…
function init(value) {
ga('create', value);
}
angular.module('app', []).run(function($rootScope) {
$rootScope.googleAnalytics = 'something'
init($rootScope.googleAnalytics);
});
JSFiddle链接-简单演示
相关文章:
- 使用Angular读取JSON
- http/rxjs catch回调中的Angular 2重定向导致TypeError:无法读取属性'订阅'
- Angular 2 beta16无法读取属性'MinFreeShipping'的未定义
- 读取Angular应用程序中请求的url
- Angular无法读取http post响应中的cookie
- 正在读取angular js promise中的NegotiatedContentResult对象(从WebAPI发送)
- JSON,带有'-'angular js中的键内读取
- 无法读取属性'用户名'对于Angular Post Request,共个未定义
- Google Maps 和 Angular js:TypeError:无法读取 undefined 的属性“触发器”
- Angular JS TypeError:无法读取路由上未定义的属性“id”
- Angular Js 从 Wordpress php 文件中读取 json 数据
- 指令链接中的范围变量不会更新到指令控制器使用 Angular 读取它时
- 在Javascript(Angular)中读取,更改和保存文档
- 使用 Angular 读取或写入文件到文件系统
- 在 Angular 应用程序上收到错误:类型错误:无法读取未定义的属性“then”
- angular Directive-文件读取器未启动.文件加载时
- Angular Js-无法读取属性'推'的未定义-错误
- AngularJS:如何使用angular从json文件中读取数据
- 如何读取angular模块内部的json配置文件
- 如何在普通的JavaScript中读取Angular表达式