我有一个使用firebase 2.2.2的webapp。现在我去了firebase.com,不得不迁移到一个新版本的Firebase。然后,我得到指令将这段代码放入应用程序的html文件中:
<script src="https://www.gstatic.com/firebasejs/live/3.0/firebase.js"></script>
<script>
// Initialize Firebase
var config = {
apiKey: "AIzaSakdsjfg-Lw.kadjfglkadjhgxhMDbq4",
authDomain: "myapp.firebaseapp.com",
databaseURL: "https://myapp.firebaseio.com",
storageBucket: "myapp.appspot.com",
};
firebase.initializeApp(config);
</script>
但如果我这样做,并删除现有的引用:
<script src="https://cdn.firebase.com/js/client/2.2.2/firebase.js"></script>
然后这个应用程序就不再起作用了。特别是角指令似乎不再起作用了。例如,在下面的代码中,将显示文本,但菜单项“工厂-服务”的链接现在不起作用。
<div class="header" ng-controller="MenuCtrl as menuCtrl">
<ul class="nav nav-pills pull-right">
<li ng-if="menuCtrl.isLoggedIn()"><a ng-href="#/buildings">Buildings</a></li>
<li ng-if="menuCtrl.isLoggedIn()"><a ng-href="#/apartments">Apartments</a></li>
<li><a ng-href="#/factsvc">Factory-Service</a></li>
<li class="active"><a ng-href="#/">Home</a></li>
</ul>
<h3 class="text-muted">Hello AngularFire anonymous authentication</h3>
</div>
该应用程序适用于AngularJS和AngularFire代码:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular-route.min.js"></script>
<script src="https://cdn.firebase.com/libs/angularfire/1.0.0/angularfire.min.js"></script>
如果我安装了角火的最新版本(npm安装了angularfire --最新版本),那么就会依赖于firebase版本2.4.2。已安装,而不是3.x版本。(当我运行npm时,安装firebase -但是安装了最新版本3.0.2 )。
如何解决这个问题?那么,我应该不包括Firebase告诉我的代码,或者我是否可以手动使angularfire依赖于firebase 3.x?或保留对第2.2.2节的提及。和新的推荐人一起?
发布于 2016-05-24 21:38:24
由于API在2.x和3.0之间的中断方式发生了变化,在作者(我和其他人)升级库之前,您将无法使用AngularFire。这是发生在这位变革者,这是几乎完成。
https://stackoverflow.com/questions/37422495
复制相似问题