【问题标题】:Angularfire-code in app fails after upgrade to firebase 3 [duplicate]升级到firebase 3后,应用程序中的Angularfire代码失败[重复]
【发布时间】:2016-05-24 19:40:45
【问题描述】:

我有一个使用 firebase 2.2.2 的 web 应用。现在我去了 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>
    

但如果我这样做,并删除现有的参考:

&lt;script src="https://cdn.firebase.com/js/client/2.2.2/firebase.js"&gt;&lt;/script&gt;

然后该应用程序不再工作。具体来说,角度指令似乎不再起作用。例如,在以下代码中显示了文本,但指向菜单项“Factory-Service”的链接现在不起作用。

<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 发生了重大变化,您不能在没有更新的情况下使用相同的库。可以关注升级到AngularFire在this PR

标签: angularjs firebase dependency-management angularfire firebase-realtime-database


【解决方案1】:

由于 API 在 2.x 和 3.0 之间发生了重大变化,因此在作者(我和其他人)升级库之前,您将无法使用 AngularFire。这发生在this changelist,几乎完成了。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2010-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多