升级AngularFire导致脚本停止工作?

时间:2014-08-21 00:45:06

标签: angularjs firebase angularfire

以下脚本是使用angularfire,firebase和angular从firebase中读取的简单脚本。问题是,当我将AngularFire从0.7.1升级到.0.8.0时,脚本完全停止工作,我不确定我做错了什么?

<body>
<section ng-app="myapp" ng-controller="MyController">
    <div ng-repeat="item in data">
         <h3 ng-cloak>{{item.title}}</h3>
    </div>
</section>
<script>

angular.module("myapp", ["firebase"])


.factory("FirebaseService", ["$firebase", function ($firebase) {
    var furl = "https://helloworldtest.firebaseio.com/";
    var ref = new Firebase(furl);
    return $firebase(ref);
    }])

.controller('MyController', ["$scope", "FirebaseService", function ($scope, firebaseservice) {

    $scope.data = firebaseservice

}]);

知道这个配置它运作正常:

<script src='https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.6/angular.min.js'></script>
<script src='https://cdn.firebase.com/js/client/1.0.17/firebase.js'></script>
<script src='https://cdn.firebase.com/libs/angularfire/0.7.1/angularfire.min.js'></script>

但是有了它,它不起作用:

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0-beta.17/angular.min.js"></script>
<script src="https://cdn.firebase.com/js/client/1.0.18/firebase.js"></script>
<script src="https://cdn.firebase.com/libs/angularfire/0.8.0/angularfire.min.js"></script>

也许最好不升级。

1 个答案:

答案 0 :(得分:4)

在您的控制器中执行: -

 $scope.data = firebaseservice.$asArray(); //or .$asObject

或者在您的服务中这样做: -

 return $firebase(ref).$asObject(); //or .$asObject

<强> Demo

我从未使用过Firebase,但似乎这是为改进功能而引入的重大变化,Found it here

  

在以前的版本中,在AngularFire绑定初始化时加载了Firebase数据。改进的API提供了两种以不同格式加载数据的方法。那些方法是$ asObject()和$ asArray()。

根据Kato

的评论进行更新

以下是change log说明新版本中的更改。它说明了许多重大变化的引入,所以我猜你可以期待相同的直到1.0稳定版本完成。这是official api documentation