所以正如问题标题所说,我的 $rootScope 中有一个对象(我们称之为 $rootScope.appConfiguration),它在我的模块的 .run 中有一个值:
angular.module('myapp',[...])
.provider('appConfigurationProvider',function(){...})
.constant(...)
.run(function($rootScope) {
$rootScope.appConfiguration = appConfiguration;
});
( ... 部分只是跳过代码,以使内容更具可读性)
然后我在我的 index.html 中实现angulartics-piwik:
<body ng-app>
<!-- Piwik -->
<script type="text/javascript">
var _paq = _paq || [];
//_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u = appConfiguration.PiwikUrl;
_paq.push(['setTrackerUrl', u + 'piwik.php']);
_paq.push(['setSiteId', appConfiguration.PiwikSiteId]);
var d = document, g = d.createElement('script'), s = d.getElementsByTagName('script')[0];
g.type = 'text/javascript';
g.async = true;
g.defer = true;
g.src = u + 'piwik.js';
s.parentNode.insertBefore(g, s);
})();
</script>
<!-- End Piwik Code -->
...
如您所见,我想使用我的 appConfiguration 对象 PiwikUrl 和 PiwikSiteId 中的 2 个值,但我不知道如何在 javascript 中“传递”该对象。显然,由于现在的代码,我收到“appConfiguration 未定义”错误消息。