AngularFire 0.9 解决了 UI 路由器问题

2024-04-27

我已按照教程进行操作here https://www.firebase.com/docs/web/libraries/angular/guide.html#section-routes但不知何故犯了这个错误

   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控制器宣言。

NgRoute 会为您实例化控制器并将其绑定到视图中定义的 DOM,因此无需使用以下命令指定控制器NG控制器在视图的部分 HTML 中。

这有效:

<!-- in it's own HTML file, say  views/signupCtrl.html -->
<div>  <!-- Look, no need for ng-controller="signupCtrl"... -->
  ...signup Form etc...
</div>

如果你会发生什么do在那里留下一个 ng-controller 定义(我怀疑这就是你所做的),角度将尝试实例化控制器两次:

  • 有一次在加载DOM时遇到它,此时当前验证不会被定义,所以你会得到一个未知的提供商如果它被列为控制器中的依赖项,则会出现错误。
  • 从前resolve完成。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AngularFire 0.9 解决了 UI 路由器问题 的相关文章

随机推荐