[英]AngularFire 0.9 resolve with UI router
Unknown provider: currentAuthProvider <- currentAuth
我將currentAuth添加到所有控制器中,可能是什么問題?
Firebase 2.0.4
AngularFire 0.9.0
這是路線文件:
.config(function($stateProvider, $urlRouterProvider, $locationProvider) {
$urlRouterProvider.otherwise('/');
$stateProvider
.state('home', {
url: '/',
templateUrl: 'views/home.html',
controller: "homeCtrl",
resolve: {
"currentAuth": ["userFactory", function(userFactory) {
return userFactory.$waitForAuth();
}]
}
})
我只有兩個模塊:
var warp = angular.module('warp', [
'firebase',
'ui.router'
])
這是控制器之一:
angular.module('warp')
.controller("signupCtrl", ["$rootScope", '$scope', 'userFactory', '$window', '$firebase', '$location', 'USERS', 'currentAuth',
function($rootScope, $scope, userFactory, $window, $firebase, $location, USERS, currentAuth) {
檢查您的HTML部分視圖,並刪除ng-controller聲明。
NgRoute為您實例化控制器並將其綁定到視圖中定義的DOM,因此無需在視圖的部分HTML中使用ng-controller指定控制器。
這有效:
<!-- in it's own HTML file, say views/signupCtrl.html -->
<div> <!-- Look, no need for ng-controller="signupCtrl"... -->
...signup Form etc...
</div>
如果您確實在其中留下了ng-controller定義(我懷疑您所做的事情),將會發生什么,即angular將嘗試實例化控制器兩次:
您只需要向處理登錄的Controller注入“ currentAuth”對象。 當我從所有其他Controller刪除它時,為我工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.