7

我在添加Angulartics时遇到问题。

在我的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
但是当我想创建该模块时:

var injector = angular.injector(['smsApp', 'ng']);

我收到了这个错误:

Uncaught Error: [$injector:unpr] http://errors.angularjs.org/1.2.15/$injector/unpr?p0=%24rootElementProvider%20%3C-%20%24rootElement%20%3C-%20%24location

没有Angulartics一切顺利!请帮助我:)谢谢

我正在关注本教程

4

2 回答 2

4

假设您正在阅读这里的文档:https ://github.com/angulartics/angulartics

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

于 2015-09-15T17:15:20.087 回答
1

你为什么用注射器?

如果你使用injector,你没有使用常规的 AngularJS 引导代码,所以$rootElement没有定义。

您可以模拟该对象:

<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)); 
}]);
于 2014-06-06T15:16:23.227 回答