升级到 firebase 3 后应用程序中的 Angularfire 代码失败
Angularfire-code in app fails after upgrade to firebase 3
我有一个使用 firebase 2.2.2 的网络应用程序。现在我去了 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>
然后该应用程序不再运行。具体来说,angular-指令似乎不再起作用了。例如,在下面的代码中显示了文本,但是菜单项 'Factory-Service' 的 link 现在不起作用。
<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-code:
<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>
如果我安装最新版本的 Angular fire (npm install angularfire --latest) 然后依赖于 firebase 版本 2.4.2。已安装,而非版本 3.x。 (当我 运行 npm install firebase --latest 但是安装了版本 3.0.2 时)。
如何解决这个问题?然后我应该不包含 Firebase 告诉我包含的代码,还是我可以手动使 angularfire 依赖于 firebase 3.x?或保留对 v. 2.2.2 的引用。与新参考一起?
由于 API 在 2.x 和 3.0 之间发生了重大变化,在作者(我和其他人)升级该库之前,您将无法使用 AngularFire。这发生在 this changelist,即将完成。
我有一个使用 firebase 2.2.2 的网络应用程序。现在我去了 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>
然后该应用程序不再运行。具体来说,angular-指令似乎不再起作用了。例如,在下面的代码中显示了文本,但是菜单项 'Factory-Service' 的 link 现在不起作用。
<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-code:
<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>
如果我安装最新版本的 Angular fire (npm install angularfire --latest) 然后依赖于 firebase 版本 2.4.2。已安装,而非版本 3.x。 (当我 运行 npm install firebase --latest 但是安装了版本 3.0.2 时)。
如何解决这个问题?然后我应该不包含 Firebase 告诉我包含的代码,还是我可以手动使 angularfire 依赖于 firebase 3.x?或保留对 v. 2.2.2 的引用。与新参考一起?
由于 API 在 2.x 和 3.0 之间发生了重大变化,在作者(我和其他人)升级该库之前,您将无法使用 AngularFire。这发生在 this changelist,即将完成。