找不到$ firebaseSimpleLoginProvider

时间:2014-06-09 19:41:05

标签: firebase angularfire firebase-security

我无法让facebookSimpleLogin angularfire服务被依赖注入我的一个角度js服务。

angular.module('cakethursdayApp')
.service('FacebookAuthService', function FacebookAuthService($firebaseSimpleLogin) {
    ......
});

我收到错误“错误:[$ injector:unpr]未知提供者:$ firebaseSimpleLoginProvider< - $ firebaseSimpleLogin< - FacebookAuthService”

我的脚本按以下顺序加载

<script src="bower_components/firebase/firebase.js"></script>
<script src="bower_components/firebase-simple-login/firebase-simple-login.js"></script>
<script src="bower_components/angularfire/angularfire.js"></script>

2 个答案:

答案 0 :(得分:1)

一般来说,当你有一个&#34;缺少依赖&#34;总是看看你的模块声明的依赖注入。

angular.module(modulename, [list of dependencies to inject]).

任何时候你使用firebase(我特意知道使用angularfire)你会想要这样的东西

angular.module(modulename, ['firebase'])

另外(通常你也需要它)在你的控制器定义中。

function myCtrl($scope, $firebase)

这样,当您想设置对firebase网址的引用时,它将如下所示:

var FB = "https://##instance##.firebaseio.com/"; //your Firebase address
var ref = new Firebase(FB);  // Creates a new instance of AngularFire 
$scope.variableNames= $firebase(ref); // the angularfire "firebase" service reference.

(如果我的评论错误,请纠正我,这是我对代码的理解)

用于ng-repeat或其他操作

(For Example)

<div ng-repeat="variable in variableNames">
{{variable}}
</div>

答案 1 :(得分:0)

您需要在当前代码中进行两项更改才能使其正常工作:

angular.module('cakethursdayApp', ['firebase'])
.service('FacebookAuthService', function FacebookAuthService($firebaseAuth) {
    ......
});
  1. 将AngularFire模块注入依赖项
  2. $ firebaseSimpleLogin 替换为 $ firebaseAuth ,因为 $ firebaseSimpleLogin被删除/删除了0.9.0。