Javascript 使用带有AngularJS的Angulartics的喷油器错误

Javascript 使用带有AngularJS的Angulartics的喷油器错误,javascript,angularjs,google-analytics,angulartics,Javascript,Angularjs,Google Analytics,Angulartics,我在添加角度方面有问题 在我的app.js中,我刚刚添加了两个依赖项(Angulartics和最后一个),您可以看到: var smsApp = angular.module('smsApp', [ 'ngRoute', 'smsControllers', 'smsFilters', 'google-maps', 'pascalprecht.translate', 'angulartics', 'angulartics.google.analytics', ]);

我在添加角度方面有问题

在我的app.js中,我刚刚添加了两个依赖项(Angulartics和最后一个),您可以看到:

var smsApp = angular.module('smsApp', [
  'ngRoute',
  'smsControllers',
  'smsFilters',
  'google-maps',
  'pascalprecht.translate',
  'angulartics',
  'angulartics.google.analytics',
]);
然后在我的index.html中添加了:

<script src="./js/angulartics.js">
<script src="./js/angulartics-ga.js"> ---- paths to these files are ok
我得到了这个错误:

未捕获错误:[$injector:unpr]

如果没有角度训练一切顺利!请帮帮我:)谢谢


我正在关注这一点。

为什么要使用注射器

如果您使用的是
injector
,那么您没有使用常规的AngularJS引导代码,因此未定义
$rootElement

您可以模拟对象:

<script src="/path/to/angular-mock.js">
...
var injector = angular.injector(['smsApp', 'ngMock', 'ng']);

假设您正在阅读此处的文档:


您需要通过运行“bower install angulartics google analytics--save”来安装angulartics.google.analytics插件。

也许您应该在angulartics github页面上提出一个问题我还没有尝试angulartics,但我在Angularytics上运气不错,它可能也会做同样的事情。
<script src="/path/to/angular-mock.js">
...
var injector = angular.injector(['smsApp', 'ngMock', 'ng']);
smsApp.config(['$provide', function($provide) {
    // Should match the element that contains your ng-app="smsApp" attribute
    $provide.value('$rootElement', angular.element(document.body)); 
}]);