Ich lade ein Modul auf meiner Basis-HTML-Seite namens userFromServer
. Ich möchte es sowohl in das Haupt-App-Modul als auch in das Mixpanel-Modul injizieren. Allerdings bekomme ich einen Injektionsfehler, wenn ich versuche, userFromServer
in analytics.mixpanel
(angular mixpanel) zu injizieren. Ist das ein zirkulärer Abhängigkeitsfehler oder fehlt mir etwas? sollte userFromServer
für alle Module verfügbar sein? Wie kann ich userFromServer
in beide Module injizieren?Winkel injizieren Modul in mehrere Module
var app = angular.module('App', ['userFromServer', 'analytics.mixpanel'])
// main app with currentUser injectable
var mixp = angular.module('analytics.mixpanel', ['userFromServer'])
mixp.config(['$mixpanelProvider', 'currentUser', function($mixpanelProvider, currentUser) {
// use currentUser here
}]);
userFromServer Modul
<body ng-app="App" ng-cloak>
<base href="/">
<div class="container">
<div ng-view=""></div>
</div>
<script type="text/javascript">
angular.module('userFromServer', [])
.service('currentUser', function() {
<% if logged_in %>
this.name = '<%= @User.name %>';
this.first_name = '<%= @User.first_name %>';
this.id = '<%= @User.id %>';
this.uuid = '<%= @User.profile.uuid %>';
<% end %>
})
</script>
</body>
die Stack-Trace ist:
Failed to instantiate module App due to:
Failed to instantiate module analytics.mixpanel due to:
Unknown provider: currentUser
was ist der Fehler, den Sie bekommen? Bitte fügen Sie auch die Modeldefinition userFromServer hinzu. –
Bitte geben Sie die vollständige Fehlermeldung (einschließlich Aufrufliste) und den Code für die relevanten Module an. Der aufgelistete Code enthält nichts, was einen Fehler verursachen könnte (außer der Tatsache, dass es keinen userFromServer gibt). Außerdem verwirren Sie die Injektion mit dem Laden. Module werden * geladen *, es gibt kein Problem mit zirkulären Abhängigkeiten. Abhängigkeiten werden * injiziert *. – estus
@estus aktualisiert mit Code und Stack-Trace – user2954587