Ошибка инжектора при использовании Angulartics с AngularJS
У меня проблема с добавлением 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/%24injector/unpr?p0=%24rootElementProvider%20%3C-%20%24rootElement%20%3C-%20%24location
Без Angulartics это идет хорошо! Пожалуйста, помогите мне:) спасибо
Я следую этому уроку.
2 ответа
Предполагая, что вы читаете документы здесь: https://github.com/angulartics/angulartics
Вам нужно установить плагин angularitics.google.analytics, запустив "bower install angulartics-google-analytics --save"
Почему вы используете инжектор?
Если вы используете 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));
}]);