2

アプリで AngularJS と FireBase を使用しています。angularFire を使用して FireBase オブジェクト参照を Angular スコープにバインドするのが好きですが、バインドされたスコープ オブジェクトの更新をトランザクションで実行したい場合は、新しい FireBase 参照を作成する必要があります。同じ FireBase オブジェクトを指す 2 つの参照があるため、潜在的な問題があります。

        angularFire(travelBidsFirebaseRef + "/auction/" + $scope.auctionId, $scope, 'auction', {})
        .then(function(disassociate) {
                $scope.auctionRef = travelBidsFirebaseRef.child('auction/' + $scope.auction.id);
        ...

                $scope.auctionRef.transaction(function(auction) {
                    auction.price = Math.round((auction.price + 0.01) * 100)/100;
                });
        ...
        }

angularFire バウンド スコープ オブジェクトを使用してトランザクションを実行する方法はありますか?

4

1 に答える 1

2

AngularFire は最初の引数として firebaseRef を受け入れるため、それを使用してトランザクションを実行することをお勧めします。

var ref = new Firebase("https://my-firebase.firebaseio.com/auction/" + $scope.auctionId);
angularFire(ref, $scope, "auction", {}).then(function() {
  ref.transaction(function(auction) {
    auction.price = ...
  });
});
于 2013-08-12T18:15:45.357 に答える