我在我的基本html页面上加载了一个模块,名为userFromServer
。我想将它注入主应用模块和mixpanel模块。但是,如果我尝试将userFromServer
注入analytics.mixpanel
(angular mixpanel),则会出现注射错误。这是一个循环依赖错误还是我错过了什么?应该userFromServer
可用于所有模块?我怎样才能将userFromServer
注入到两个模块中?将角度注入模块到多个模块
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模块
<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>
堆栈跟踪是:
Failed to instantiate module App due to:
Failed to instantiate module analytics.mixpanel due to:
Unknown provider: currentUser
什么是你所得到的错误?还请包含userFromServer模式定义。 –
请提供完整的错误信息(包括调用堆栈)和相关模块的代码。列出的代码不包含任何可能导致错误的内容(除了没有userFromServer的事实)。此外,你正在注入与加载混淆。模块正在被加载*,循环依赖没有问题。依赖性被注入*。 – estus
@estus使用代码和堆栈跟踪进行更新 – user2954587