2014-05-14 15 views
7

Ich habe Probleme mit der Zugabe von Angulartics.Injector Fehler mit Angulartics mit AngularJS

In meinem app.js Habe ich nur noch, dass zwei Abhängigkeiten (Angulartics und die letzte) Sie sehen:

var smsApp = angular.module('smsApp', [ 
    'ngRoute', 
    'smsControllers', 
    'smsFilters', 
    'google-maps', 
    'pascalprecht.translate', 
    'angulartics', 
    'angulartics.google.analytics', 
]); 

und dann in meinem index.html fügte ich hinzu:

<script src="./js/angulartics.js"> 
<script src="./js/angulartics-ga.js"> ---- paths to these files are ok 
aber wenn ich mit diesem Modul erstellen möchten:

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

habe ich diesen Fehler:

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

Ohne Angulartics geht es gut! Bitte helfen Sie mir :) Danke

Ich bin dieser tutorial folgen.

+0

vielleicht sollten Sie ein Problem an der angulartics github Seite – Alp

+0

Ich habe Angulartics nicht versucht, aber ich hatte viel Glück mit Angularytics, die wahrscheinlich das gleiche tut. [Angularytics] (https://github.com/mgtto/angularytics) –

Antwort

1

Warum verwenden Sie Injektor? Wenn Sie injector verwenden, verwenden Sie nicht den regulären AngularJS-Bootstrapping-Code, daher ist $rootElement nicht definiert.

Sie das Objekt verspotten könnte: hier Sie lesen Sie die Dokumentation ausdrücklich

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

Oder definieren Sie es in Ihrer App

smsApp.config(['$provide', function($provide) { 
    // Should match the element that contains your ng-app="smsApp" attribute 
    $provide.value('$rootElement', angular.element(document.body)); 
}]); 
Verwandte Themen