我在添加 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 它很顺利!请帮帮我:)谢谢
我正在关注此tutorial。
答案 0 :(得分:4)
假设您正在阅读此处的文档:https://github.com/angulartics/angulartics
您需要运行&#39; bower install angulartics-google-analytics --save&#39;
来安装angularitics.google.analytics插件答案 1 :(得分: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));
}]);